问题标签 [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.
ajax - HTTP 请求返回状态码 0 是什么意思?
当 JavaScript 网络调用(例如 fetch 或 XMLHttpRequest)或任何其他类型的 HTTP 网络请求失败并返回 HTTP 状态代码 0 时,这意味着什么?
这似乎不是一个有效的 HTTP 状态代码,因为其他代码在 HTTP 规范中是三位数。
我尝试完全拔掉网络作为测试。这可能是不相关的,但这导致了状态代码 17003 (IIRC),粗略的搜索表明这意味着“DNS 服务器查找失败”。
相同的代码在某些位置和系统上运行良好,但在某些环境中它会失败,状态代码为 0,并且没有提供 responseText。
这是对 Internet URL 的典型 HTTP POST。它不涉及 file:// ,我理解它可能会在 Firefox 中返回 0 表示成功。
firefox - 为什么这个 CORS 请求只在 Firefox 中失败?
我正在使用凭据和预检请求实现 CORS,我有点困惑为什么预检请求在 Firefox 30 中始终失败但在 Safari(7.0.2)和 Chrome 35 中有效。我认为这个问题不同于“为什么经过身份验证的 CORS 请求的预检 OPTIONS 请求在 Chrome 中有效,但在 Firefox 中无效? ” 因为我没有收到 401,而是来自浏览器客户端的特定于 CORS 的消息:
“跨域请求被阻止:同源策略不允许读取http://myurl.dev.com上的远程资源。这可以通过将资源移动到同一域或启用 CORS 来解决。”
在不显示源代码的情况下,这就是我正在做的事情:
在服务器上:
选项响应的标题:
- Access-Control-Allow-Origin:[[从此处的请求复制来源]]
- 访问控制允许方法:“POST GET OPTIONS”
- 访问控制允许标头:“X-Requested-With”
- 访问控制允许凭据:“真”
POST 响应的标头:
- Access-Control-Allow-Origin:[[从此处的请求复制来源]]
- 访问控制允许凭据:“真”
在浏览器客户端中:
根据规范,这将触发一个 OPTIONS 预检请求,该请求需要在其响应中包含 CORS 标头。我已经多次阅读 W3C 规范,但我无法确定我做错了什么,如果有的话,在那个预检响应中。
javascript - fetch(),如何发出非缓存请求?
使用fetch('somefile.json')
,是否可以请求从服务器而不是从浏览器缓存中获取文件?
换句话说,fetch()
是否可以绕过浏览器的缓存?
javascript - 为什么新的 js Fetch 标准禁止响应头名称为“Set Cookie 1 / 2”?
我很惊讶https://fetch.spec.whatwg.org/标准不允许从服务器设置 cookie。我预计 New Fetch 将成为 XHR 的绝佳替代品,但是......
有人知道它的任何官方答案吗?提前致谢!
javascript - fetch: Reject promise with JSON error object
I have an HTTP API that returns JSON data both on success and on failure.
An example failure would look like this:
What I want to achieve in my JavaScript code is something like this:
html - html 获取多个文件
我想使用新的 fetch api ( https://fetch.spec.whatwg.org/ ) 一次获取多个文件。原生可以吗?如果是这样,我应该如何利用承诺?
blob - 获取数组缓冲区随机行为
我想使用 fetch api(https://fetch.spec.whatwg.org/)直接获取 arrayBuffer 。返回数据后,我想使用数组缓冲区。
似乎有时 arrayBuffer() 有效,有时则无效。不起作用我的意思是有时它会返回一个空数组。大多数时候它不起作用。
如果我调用 blob() 并通过 FileReader 将其转换为数组缓冲区,它总是可以工作的。
还有现场演示: http ://codepen.io/nicolasrannou/pen/OVLyjX
我做错了什么还是一个错误?
谢谢,尼古拉斯
javascript - 获取:POST JSON 数据
我正在尝试使用fetch发布一个 JSON 对象。
据我了解,我需要将一个字符串化对象附加到请求的正文中,例如:
使用jsfiddle 的 JSON 回显时,我希望看到我发{a: 1, b: 2}
回的对象 (),但这不会发生 - chrome devtools 甚至没有将 JSON 显示为请求的一部分,这意味着它没有被发送。
javascript - 如何将 window.fetch() 与 httpOnly cookie 或基本身份验证一起使用
我在 Firefox 和 Chrome 中使用window.fetch() 。由于某些原因, fetch() 不发送任何 cookie。现在这不是问题,因为我可以使用
但这不适用于 httpOnly cookie。
javascript - 我们如何检查请求的响应是否来自 Service Worker
在 HTTP 状态代码旁边的 Google Chrome 控制台中,Request
我们有 info (from ServiceWorker)
。
能Request
以某种方式知道Response
来自 ServiceWorker 吗?比较date
可能Response Headers
?