探讨ajax、fetch .的区别

记录一下: ajax、axios、fetch的区别

1.AJAX Ajax 即“AsynchronousJavascriptAndXML”(异步 JavaScript 和 XML),无需重新加载整个网页的情况下,能够更新部分网页的技术

缺点: 本身是针对MVC编程,不符合前端MVVM的浪潮

     基于原生XHR开发,XHR本身的架构不清晰

    配置和调用方式非常混乱,而且基于事件的异步模型不友好

MVC就是 (model view Controller) mvvm(model view view model)

2.Fetch fetch号称是AJAX的替代品,是在ES6出现的,使用了ES6中的promise对象,fetch的代码结构比ajax简单多,没有封装  而是使用的原生的js,没有使用XMLHttpRequest对象

                 fetch的优点:   语法简洁,更加语义化

               基于标准 Promise 实现,支持 async/await

                 更加底层,提供的API丰富(request, response)

fetch的缺点:

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

      fetch默认不会带cookie,需要添加配置项: fetch(url, {credentials: 'include'})

       fetch没有办法原生监测请求的进度,而XHR可以

3.Axios Axios 是一种基于Promise封装的HTTP客户端,其特点如下

浏览器端发起XMLHttpRequests请求

node端发起http请求

支持Promise API

监听请求和返回

自动转换json数据

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值