window.fetch
fetch被定义在window对象上,用于请求远程资源,返回Promise对象检测请求结果,以下示例是请求图片:
var URL = 'http://*******';
fetch(URL).then(function(response) {
return response.json();
}).then(function(json) {
insertPhotos(json);
});
fetch可配置请求对象Request
var request = new Request(URL,{
method:'GET',
cache:'reload'
});
fetch(request).then(function(response) {
return response.json();
}).then(function(json) {
insertPhotos(json);
});
fetch可基于原有的对象创建新对象
var postHeader = new Request(request,{method:'POST'})
fetch请求对象Request中的headers属性
var headers = new Headers();
headers.append('Accept','application/json');
var request = new Request(URL,{headers:headers});
fetch(request).then(function(response) {
console.log(response.headers);
});
浏览器支持
fetch默认不携带cookie
可设置:
fetch(URL,{credentials:'include'});
只有网络错误时才会reject
即使请求资源的状态码为400,500时fetch也不会reject,只有网络出错时才会reject。