本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/01/29/%E4%BB%80%E4%B9%88%E6%98%AFfetch/
摘要
本文主要讲述了:
- 作用
- 参数
- 返回值类型
- Response
- polyfill
正文
作用
类似XMLHttpRequest
,用于请求网络资源
语法:const fetchResponsePromise = fetch(resource [, init])
示例:
1 | fetch('./js/fruits.json') |
参数
resource
- 网络资源的 URL
- 网络资源的
Request
实例
init
初始化模板
- 值类型:
Object
- 是否必填:否
init.credentials
默认情况下,浏览器不会为 Ajax 跨源请求提供 cookie,也不会接受 Ajax 跨源请求中服务器端要求写入的 cookie。除非将init
对象的credentials
属性设置为include
返回值类型
Promise
实例
若请求成功,Promise
实例将resolve
一个Response
实例
- 网络中断(非局域网):
reject
- 超链接无效:
reject
- 跨源通信:
reject
注意:
- HTTP 状态码为错误状态码时并不会
reject
Response
原型方法
Response.prototype.arrayBuffer()
将响应体解析为ArrayBuffer
实例
Response.prototype.text()
将响应体解析为字符串
注:Response.prototype.text()
默认响应体的字符编码方案为UTF-8
如果响应体使用的是其他的字符编码方案,可以使用Response.prototype.arrayBuffer()
示例:gbk
1 | fetch('about.html') |
Response.prototype.json()
将响应体解析为 JSON
polyfill
对于仍不支持fecth()
的浏览器(例如:IE10+),可以使用polyfill
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/01/29/%E4%BB%80%E4%B9%88%E6%98%AFfetch/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2020/01/29/%E4%BB%80%E4%B9%88%E6%98%AFfetch/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。