重要: 从Firefox 52开始,此mixin中定义的方法已移至WindowOrWorkerGlobalScope
mixin,而其他浏览器也将如此。 查看该页面以获取最新的详细信息。
当发生网络错误时,fetch()
的promise对象会返回一个TypeError
错误,尽管这会引起权限问题或者类似的问题。如果要进行一次成功的fetch()请求,你需要对promise对象进行精确解析,之后要保证Response.ok
属性的值为true。这里要说明的是http状态为404的请求不视为网络错误。
GlobalFetch
是基于 Content Security Policy connect-src 指令控制, 而不是由资源来源来管理控制的.
Properties
None.
Methods
GlobalFetch.fetch()
- 开启一个获取源资源的进程.
Examples
我们提供了一个 简单的fetch示例 (运行这个实例) 我们使用一个简单的 fetch 方法去抓去一张图片并将其显示在 <img>
标签中. 你会从这个示例中注意到当我们对图片发起请求, 会需要使用 Body.blob
(Response
implements body) 将返回结果指定一个正确的 MIME 类型.
var myImage = document.querySelector('.my-image'); fetch('flowers.jpg').then(function(response) { return response.blob(); }).then(function(response) { var objectURL = URL.createObjectURL(response); myImage.src = objectURL; });
Specifications
Specification | Status | Comment |
---|---|---|
Fetch GlobalFetch |
Living Standard | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 42.0 | 39 (39) 34[1] |
未实现 | 29 28[1] |
未实现 |
Streaming response body | 43.0 | ? | ? | ? | ? |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | 未实现 | 42.0 | 未实现 | 未实现 | 未实现 | 未实现 | 未实现 | 42.0 |
Streaming response body | 未实现 | 43.0 | ? | ? | ? | ? | ? | 43.0 |
[1] This API is implemented behind a preference.