问题标签 [isomorphic-fetch-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6244 浏览

javascript - 覆盖 JS 中的 fetch 方法并转发 Promises

我想重写isomorphic-fetchfetch()的方法,这样,就在发送此请求之前它会调用它,并且在请求完成之后,它会调用. 现在我想重写它,以便新的 fetch 可以像原始的 fetch 方法一样被链接。所以它应该尊重/转发所有的承诺。总之,我想:showLoader()hideLoader()

  • 覆盖原来fetch()fetchPlus(extraArg)
  • fetchPlus()需要在调用之前fetch()fetch()完成之后做额外的工作。
  • fetchPlus()应该是替代原始用法的下降fetch()
  • 它应该支持链接,这样我就可以做到:

fetchPlus(extraArg, originalArgs...).then(response => {...}).catch(error => {...});

我对 JS、React 和 Redux 还很陌生,所以如果我遗漏了一些明显的东西,请见谅。我确实阅读fetch()并知道它返回Promise以便可以进一步传递响应或处理错误。我想出了一个丑陋的方法,我将 responseHandler 和 errorHandler 函数作为 args 传递给 fetchPlus。

但是我觉得不干净。我想看看我是否可以找到正确传递 Promise 的原始 fetch 的替代品。

我将非常感谢任何帮助!

0 投票
1 回答
239 浏览

node.js - 为什么必须在节点 Web 请求中包含带有 URL 的主机?

无论我为节点使用哪个库,它们都需要绝对 URL。

这意味着我需要构建一个 fetch curry,然后通过函数链传递该 fetch 以便能够发出请求,或者我需要在确定我是在生产还是开发之后定义一个常量,然后更新该 URL每当我的环境发生变化时。

无论如何,为什么节点需要 URL 的主机名?

是否有更无缝的方式在我的应用程序中的任何位置(包括函数链深处)执行服务器端请求?

代码示例:

0 投票
1 回答
268 浏览

json - isomorphic-fetch 不发布 json 正文

我的反应应用程序中有这段代码,它没有发布 json 正文!已经尝试了每一种解决方案,即使是这里的https://github.com/matthew-andrews/isomorphic-fetch/issues/34也不起作用,我可以用 jquery 做帖子,但我需要使用 fetch,有什么想法吗?

0 投票
1 回答
5350 浏览

node.js - 同构提取(REDUX / nodeJs) - 带有用户名/密码的 POST 请求

我正在使用下面的代码从 API 获取数据,它工作正常。我有另一个受保护的 API,需要用户名/密码才能访问内容,我不确定在使用同构提取模块时如何传递凭据。有人可以帮忙吗?

我正在使用这个模块: https ://www.npmjs.com/package/isomorphic-fetch

我需要如下传递用户名和密码(示例 curl 命令)

代码:

0 投票
2 回答
137 浏览

javascript - 如何在获取值是字符串的情况下发送表单数据?

我正在尝试PUT以下数据:{value: false}. 我正在使用 isomorphic-fetch 并发送以下内容: JSON.stringify({value: false}). 问题是服务器期望所有值都是字符串。我尝试使用 FormData 并发送它,但由于某种原因服务器不明白这一点。

我最好尝试在 JSON.stringify 上使用将所有值输出为字符串的替换器吗?或者有没有办法让 FormData 返回 NVP,我将它发送到哪里?只是寻找首选方法的片段。

0 投票
1 回答
142 浏览

javascript - 即使已处理,错误也会冒泡到控制台

我正在使用isomorphic-fetch从我的react-redux应用程序执行 AJAX 请求。在我的 api 中间件中,我有以下调用外部资源的函数:

上述函数由以下代码调用:

如果我拒绝Promise.reject(response)错误处理程序正在处理错误,但由于某种原因,错误也会冒泡到浏览器控制台(在我的情况下为 Chrome)。

这是控制台的屏幕截图,显示了正在发生的事情(api.js:34callApi方法的第二行):

控制台日志

0 投票
0 回答
3052 浏览

javascript - 同构提取给出 CORS 错误

我正在尝试隐藏我的 jQuery ajax 调用以使用同构提取

我的 jQuery ajax 调用如下所示:

我的同构提取看起来像这样:

在 isomorphic-fetch 版本中,我在浏览器中收到 CORS 错误:

“对预检请求的响应未通过访问控制检查:请求的资源上不存在‘Access-Control-Allow-Origin’标头。因此,不允许访问来源‘ https://localhost:8080 ’。响应有HTTP 状态代码 501。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。”

但是,ajax 调用工作正常。

我究竟做错了什么?

0 投票
1 回答
793 浏览

jquery - fetch api的cors问题

我正在isomorphic-fetch使用 Fetch API 调用 API。我遇到了 CORS 问题,因为 API 在不同的域上(这在生产中有效)。

为了在本地开发,我在非安全模式下运行 chrome 浏览器,并将其添加 { credentials: "include" }为请求标头的一部分,以便将 cookie 与请求一起发送。

我的开发域是localhost.abc.com:8080并且 api 是打开的myapi.abc.com,虽然我得到 200 OK 响应,但由于以下错误,我无法读取响应:

当请求的凭证模式为 'include' 时,响应中的 'Access-Control-Allow-Origin' 标头的值不能是通配符 '*'

这就是我开始缺少与 Fetch API 相关的 jQuery AJAX 调用的地方。

0 投票
1 回答
5062 浏览

reactjs - React 缓存我的 API 请求

我有一个奇怪的问题,在我更新课程后,React 似乎正在缓存我的 API GET 请求。最近刚开始学习 React,所以有很多新东西要学 :)

过程:

首先,我转到 courseList.js,其中列出了所有课程。然后,我转到 courseUpdate.js,它会更新特定课程并重定向回 courseList.js

但是,在我更新课程后,我被重定向回 courseList.js 并输出旧数据(在我更新之前)。我检查了我的 API 服务器,发现我的 React 应用在 PATCH(更新)之后没有发送任何请求。在我的控制台中,我还看到数据是陈旧的,但时间戳是最新的。此问题仅在我使用时发生

当我使用

courseList.js 按预期加载新数据。

任何帮助或见解将不胜感激。

谢谢!

courseList.js 文件:

courseUpdate.js

API 调用:

0 投票
1 回答
2413 浏览

node.js - 如何使用同构获取与 application/x-www-form-urlencoded 标头和 URLSearchParams 一起发布

这是一个运行良好的 CURL 示例:

我正在尝试使用isomorphic-fetch重现此请求。

我试过这个:

但我收到411状态码错误响应(需要长度

URLSearchParams关于和Fetch这里的更多信息:

获取文档

获取规范

有什么建议么?