错误之处,欢迎指正。
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)添加键值对。