Fetch

错误之处,欢迎指正。


1. 简介

FetchHTML5新增的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)添加键值对。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JavaScript 通过XMLHttpRequest(XHR)来执行异步请求,这个方式已经存在了很长一段时间。虽...
    Bruce_zhuan阅读 7,166评论 1 10
  • Fetch API XMLHttpRequest的问题 所有的功能全部集中在同一个对象上,容易写出不易维护的代码 ...
    percykuang阅读 2,662评论 0 0
  • 较系统整理了下Fetch和Ajax: Fetch和Ajax的区别: FetchAjaxfetch基于Promise...
    一蓑烟雨任平生_cui阅读 4,617评论 0 2
  • fetch 方法的参数 fetch(url, optionObj) 的第一个参数是请求的URL,第二个参数是配置对...
    HEY_439阅读 5,927评论 0 0
  • 一、ajax 传统 Ajax 指的是 XMLHttpRequest(XHR),核心使用XMLHttpRequest...
    Sun____阅读 3,468评论 0 0