Fetch和ajax之间的区别

发布时间 2023-09-12 22:37:50作者: 挖坑的前端狗

Fetch和ajax之间的区别

fetch

  • Fetch API是基于Promise设计的
  • Fetch内置了对JSON数据的解析支持,我们只需要调用response.json()方法,可以直接获得返回的JSON数据。
  • 语法简洁,更加语义化
  • 原生支持率不高,可以用polyfill兼容IE8+浏览器
  • ajax是理用XMLHttpRequest对象来请求数据的,而fetch是window的一个方法

fetch请求默认是不带cookie的,需要设置 fetch(url, {credentials: 'include'})
服务器返回400,500错误码时不会reject,只有网络错误导致不能完成时,才会reject。

ajax

  • 设计粗糙,不关注分离原则
  • 基于事件的异步模型,不够友好
  • 可使用abort()终止请求,可获取请求进度