[Axios] FETCH中的基础语法

FETCH不是AJAX,它诞生的目的是为了代替AJAX,它是JS中内置的API:基于FETCH可以实现客户端和服务器端的信息通信

 

参考简书

 

使用Fetch发送请求

GET/HEAD等请求不能设置BODY

不管服务器返回的状态是多少,FETCH都不认为是失败(那怕是4或者5开头的状态码),都执行的是THEN中的方法(需要我们自己进行异常抛出处理)

GET请求
fetch('get获取地址', {
    method: 'GET',
    headers: {
        //设置请求头
        'content-type': 'x-www-form-urlencoded'
    },
    //不管同源还是跨域请求都带着COOKIE信息
    credentials: 'include'
}).then(result => {
    console.log(result);
})

 
result 结果说明
 

  • result 结果说明
    • headers:{} 包含响应头信息
    • redirected:false 是否重定向
    • status:状态码
    • statusText
    • type:‘basic’/‘cors’(基本/同源)
    • url:请求的地址
    • __ proto __:Response
      • arrayBuffer()
      • blob()
      • json()
      • clone()
      • text()
      • 基于这些方法可以快速的把从服务器获取的结果找到

 

实际开发
fetch('获取地址').then(result => {
    let {status} = result;
    //手动抛出异常
    if (/^(4|5)\d{2}$/.test(status)) {
        throw new Error('query data is error!');
        return;
    }
    //转换格式
    return result.json();
    //成功路线
}).then(result => {
    console.log(result);
    //失败路线
}).catch(msg => {
    console.log(msg);
});

 

POST请求
fetch('post获取地址', {
    method: 'POST',
    //BODY中只支持字符串(GET请求还无法设置BODY)
    body: 'a=1&b=2'
}).then(result => {
    let {status} = result;
    //手动抛出异常
    if (/^(4|5)\d{2}$/.test(status)) {
        throw new Error('query data is error!');
        return;
    }
    //转换格式
    return result.json();
    //成功路线
}).then(result => {
    console.log(result);
    //失败路线
}).catch(msg => {
   console.log(msg);
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值