问题标签 [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.
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 的替代品。
我将非常感谢任何帮助!
node.js - 为什么必须在节点 Web 请求中包含带有 URL 的主机?
无论我为节点使用哪个库,它们都需要绝对 URL。
这意味着我需要构建一个 fetch curry,然后通过函数链传递该 fetch 以便能够发出请求,或者我需要在确定我是在生产还是开发之后定义一个常量,然后更新该 URL每当我的环境发生变化时。
无论如何,为什么节点需要 URL 的主机名?
是否有更无缝的方式在我的应用程序中的任何位置(包括函数链深处)执行服务器端请求?
代码示例:
json - isomorphic-fetch 不发布 json 正文
我的反应应用程序中有这段代码,它没有发布 json 正文!已经尝试了每一种解决方案,即使是这里的https://github.com/matthew-andrews/isomorphic-fetch/issues/34也不起作用,我可以用 jquery 做帖子,但我需要使用 fetch,有什么想法吗?
node.js - 同构提取(REDUX / nodeJs) - 带有用户名/密码的 POST 请求
我正在使用下面的代码从 API 获取数据,它工作正常。我有另一个受保护的 API,需要用户名/密码才能访问内容,我不确定在使用同构提取模块时如何传递凭据。有人可以帮忙吗?
我正在使用这个模块: https ://www.npmjs.com/package/isomorphic-fetch
我需要如下传递用户名和密码(示例 curl 命令)
代码:
javascript - 如何在获取值是字符串的情况下发送表单数据?
我正在尝试PUT
以下数据:{value: false}
. 我正在使用 isomorphic-fetch 并发送以下内容: JSON.stringify({value: false})
. 问题是服务器期望所有值都是字符串。我尝试使用 FormData 并发送它,但由于某种原因服务器不明白这一点。
我最好尝试在 JSON.stringify 上使用将所有值输出为字符串的替换器吗?或者有没有办法让 FormData 返回 NVP,我将它发送到哪里?只是寻找首选方法的片段。
javascript - 同构提取给出 CORS 错误
我正在尝试隐藏我的 jQuery ajax 调用以使用同构提取
我的 jQuery ajax 调用如下所示:
我的同构提取看起来像这样:
在 isomorphic-fetch 版本中,我在浏览器中收到 CORS 错误:
“对预检请求的响应未通过访问控制检查:请求的资源上不存在‘Access-Control-Allow-Origin’标头。因此,不允许访问来源‘ https://localhost:8080 ’。响应有HTTP 状态代码 501。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。”
但是,ajax 调用工作正常。
我究竟做错了什么?
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 调用的地方。
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 调用:
node.js - 如何使用同构获取与 application/x-www-form-urlencoded 标头和 URLSearchParams 一起发布
这是一个运行良好的 CURL 示例:
我正在尝试使用isomorphic-fetch重现此请求。
我试过这个:
但我收到411
状态码错误响应(需要长度)
URLSearchParams
关于和Fetch
这里的更多信息:
有什么建议么?