ajax-fetch
fetch 规范与 jQuery.ajax() 主要有三种方式的不同:
- 当接收到一个代表错误的 HTTP 状态码时,从
fetch()返回的 Promise 不会被标记为 reject, 即使响应的 HTTP 状态码是 404 或 500。相反,它会将 Promise 状态标记为 resolve (但是会将 resolve 的返回值的ok属性设置为 false ),仅当网络故障时或请求被阻止时,才会标记为 reject。 fetch()可以不会接受跨域 cookies;你也可以不能使用fetch()建立起跨域会话。其他网站的Set-Cookie头部字段将会被无视。fetch不会发送 cookies。除非你使用了credentials 的初始化选项。(自 2017 年 8 月 25 日以后,默认的 credentials 政策变更为same-origin。Firefox 也在 61.0b13 版本中进行了修改)
fetch请求设置代码
fetch('./00 data.json',{}) .then(function(reponse){ // resolve console.log(reponse); return reponse.json(); }) .then(function(data){ console.log(data); }) .catch(function(){ // reject });
获取一个 JSON 文件并将其打印到控制台。
最简单的用法是只提供一个参数用来指明想 fetch() 到的资源路径,然后返回一个包含响应结果的promise(一个 Response 对象)。
当然它只是一个 HTTP 响应,而不是真的JSON。为了获取JSON的内容,我们需要使用 json() (en-US) 方法(在 Body mixin 中定义,被 Request 和 Response 对象实现)。
response对象
常见的 response 属性有:
Response.status— 整数(默认值为200)为response的状态码。Response.statusText— 字符串(默认值为"OK"),该值与 HTTP 状态码消息对应。Response.ok— 如上所示,该属性是来检查response的状态是否在 200 - 299(包括200 和 299)这个范围内。该属性返回一个布尔值(en-US)。
<script>
/*
参数 params
数据 data
*/
axios.get("./00 data.jaon",{
// Headers:{
// },
params:{
id:1001
}
})
.then(function(response){
console.log(response)
})
.catch(function(err){
console.log(err)
})
</script>

浙公网安备 33010602011771号