window.fetch - archering/basic GitHub Wiki
window.fetch 基于 Promise 设计不能 abort
默认情况下,fetch并不会发送任何的本地的cookie到服务端,注意,如果服务端依靠Session进行用户控制的话要默认开启Cookie
var prom = window.fetch(url,{
method:"POST",
body: JSON.stringify(params),
headers:{
"Content-Type": 'application/json;charset=utf-8'//这里的header key 要用http标准的声明 不能是contentType
},
//默认为omit,忽略的意思,也就是不带cookie;还有两个参数,same-origin,意思就是同源请求带cookie;
// include,表示无论跨域还是同源请求都会带cookie
mode: "cors", // no-cors, cors, *same-origin
cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached
redirect: "follow", // manual, *follow, error
referrer: "no-referrer", // no-referrer, *client
});
prom.then(function(response){
//response.status(number): HTTP返回的状态码,范围在100-599之间
//response.ok(Boolean): 如果状态码是以2开头的,则为true
//response.headers: HTTP请求返回头
/***
* response.body: 返回体,这里有处理返回体的一些方法
text(): 将返回体处理成字符串类型
json(): 返回结果和 JSON.parse(responseText)一样
blob(): 返回一个Blob,Blob对象是一个不可更改的类文件的二进制数据
arrayBuffer()
formData()
*
*
*/
//fetch在服务器返回4xx、5xx时是不会抛出错误的,这里需要手动通过,通过response中的ok字段和status字段来判断
});