1.概念
我的理解就是一个原生的js的api,并不是基于XMLHttpRequest对象所封装的
(ajax就是基于XHR所封装的请求)(详见文档:XHR)
fetch是一种HTTP数据请求的方式,是XMLHttpRequest的一种替代方案。fetch不是ajax的进一步封装,而是原生js。Fetch函数就是原生js,没有使用XMLHttpRequest对象。


所以我的理解下,fetch可以用来检测网络请求是否正常,而且自由度很高,可以自由封装请求接口调用,
2.使用
首先fetch是一个异步的操作 ,其次就是fetch默认就是get请求
get方法
// 默认get方法const response = fetch("url").then(res => {res.ok && res.json() //实际上这里就是个判断throw new Error("fetch fail!")}) //这里的json方法是内置的把XX格式转换成json对象.then((data) => {console.log(data) //这个里面有两层promise对象所以直接调用就好了})
post方法
// post方法const response2 = fetch("url", {method: 'POST',body: JSON.stringify({name: name //这里的body其实是传的值,此处name只是一个变量//这里其实需要把数据格式转换一下再传出去请求数据--转换成http请求能看懂得数据}),headers: {'Content-Type':'application/json' //在头部中告诉http请求时传输得数据是什么格式的}}).then(res => {res.ok && console.log(res.json())throw new Error("fetch fail!")}).then((data) => {conselo.log(data)})
