使用过Fetch之后,你还想使用AJAX吗

本文探讨了使用Fetch API进行数据交互时遇到的问题,特别是服务器返回400、500错误码时如何处理。文章提供了改造Fetch请求的示例代码,确保能够正确捕获并处理HTTP错误状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前做数据交互的时候,请求数据一直使用ajax,看到网上有使用Fetch,所以也想拿来尝尝鲜

本次介绍只涉及fetch相关,传统的ajax基本上不涉及

当然你也要考虑兼容。浏览器支持情况。

一会这个只扯一下,我所遇到的情况:

由于fetch的坑:

服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。

那么,我们怎么处理http的错误代码呢?

接下来我们改造一下fetch的请求步骤

fetch('some-url')
  .then(response => {
    if (response.ok) {
      return response.json()
    } else {
      return Promise.reject({
        status: response.status,
        statusText: response.statusText
      })
    }
  })
  .catch(error => {
    if (error.status === 404) {
      // do something about 404
    }
  })

  

转载于:https://www.cnblogs.com/wy1935/p/7150713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值