错误之处,欢迎指正。
1. 简介
Fetch
是HTML5
新增的API
,是AJAX
的改进版本,可以更好的搭配Promise
使用。
2. 代码
async function getMessage() {
const url = 'http://***/api/local'; //必填项
const config = {
method: 'POST', //请求方式
headers: {
"Content-Type": "application/json"
},//请求头
body: `{
"name": "chris"
}` //请求体(参数),要匹配请求头中Content-Type所要求的格式
}//选填项
const response = await fetch(url, config);
const result = await response.text();
//fetch函数返回的是一个Promise对象
//1. 只要服务器响应了,返回的Promise对象一定是resolved状态
//2. 网络错误,rejected状态
//Promise对象的value是一个Respose对象,对象上的text()方法可以把响应结果转换为字符串格式, json()方法可以转换为对象格式。
}
3. Request对象
const req = new Request(url, config);
const resp = await fetch(req);
尽量保证每次都使用新的Request
对象进行请求;可以使用req.clone()
来克隆一个新的req
。
4. Headers
对象
const headers = new Headers({
name: 'chris'
})
const req = new Request(url, {
headers
})
Headers
对象提供了一些方法:
has(key)
检查是否存在指定的key
值。
get(key)
得到指定key
值的value
。
set(key, value)
修改key
值的value
。
append(key, value)
添加键值对。