logo头像

求知若渴,虚心若愚

Vue - Vue网络请求对比 -axios-ajax-fetch

网络请求

axios

  • Vue官方推荐
  • 不能use,因为不是Vue插件
  • 从 node.js 创建 http 请求
  • 支持 Promise
  • 客户端支持防止CSRF:
    • 就是让你的每个请求都带一个从cookie中拿到的key, 根据浏览器同源策略,假冒的网站是拿不到你cookie中得key的
    • 后台可以轻松辨别出这个请求是否是用户在假冒网站上的误导输入,从而采取正确的策略。
  • 一些配置项目(后面有专门axios介绍)

ajax

  • 对原生XHR的封装,支持JSONP
  • 优点不用多说,缺点:
    • 不符合MVVM,因为是MVC
    • 给予XHR,XHR有问题
    • 太大,必须引入jQuery

fetch

  • 号称是AJAX的替代品
  • 优点:
    • API丰富
    • ES语法
    • 基于Promise,更友好,更简单
  • 缺点:
    • fetch默认不会带cookie,需要添加配置项
    • fetch没有办法原生监测请求的进度,而XHR可以
    • fetch只对网络请求报错,对400,500都当做成功的请求,需要封装去处理
支付宝打赏 微信打赏

赞赏是对我们的肯定!