将jQuery的ajax、axios和fetch作个简单的比较,所谓仁者见仁智者见智,最终使用哪一个仍是自行斟酌javascript

1.jQuery ajax 前端

$.ajax({

type: 'POST',

url: url,

data: data,

dataType: dataType,

success: function () {},

error: function () {}

});

优缺点:java

自己是针对MVC的编程,不符合如今前端MVVM的浪潮

基于原生的XHR开发,XHR自己的架构不清晰,已经有了fetch的替代方案

JQuery整个项目太大,单纯使用ajax却要引入整个JQuery很是的不合理(采起个性化打包的方案又不能享受CDN服务)

2.axiosnode

axios({

method: 'post',

url: '/user/12345',

data: {

firstName: 'Fred',

lastName: 'Flintstone'

}

})

.then(function (response) {

console.log(response);

})

.catch(function (error) {

console.log(error);

});

优缺点:ios

从 node.js 建立 http 请求

支持 Promise API

客户端支持防止CSRF

提供了一些并发请求的接口(重要,方便了不少的操做)

3.fetchajax

try {

let response = await fetch(url);

let data = response.json();

console.log(data);

} catch(e) {

console.log("Oops, error", e);

}

优缺点:编程

符合关注分离,没有将输入、输出和用事件来跟踪的状态混杂在一个对象里

更好更方便的写法

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

脱离了XHR,是ES规范里新的实现方式

1)fetchtch只对网络请求报错,对400,500都当作成功的请求,须要封装去处理

2)fetch默认不会带cookie,须要添加配置项

3)fetch不支持abort,不支持超时控制,使用setTimeout及Promise.reject的实现的超时控制并不能阻止请求过程继续在后台运行,形成了量的浪费

4)fetch没有办法原生监测请求的进度,而XHR能够

为何要用axios?

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它自己具备如下特征:json

从浏览器中建立 XMLHttpRequest

从 node.js 发出 http 请求

支持 Promise API

拦截请求和响应

转换请求和响应数据

取消请求

自动转换JSON数据

客户端支持防止CSRF/XSRF

ajax与axios使用哪个好,ajax、axios、fetch之间的详细区别以及优缺点相关推荐

  1. ajax速度axio速度,[转]Ajax Fetch Axios之间的详细区别以及优缺点

    jQuery ajax1 2 3 4 5 6 7 8$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: ...

  2. Http Ajax技术哪家强?Axios、Superagent、Request、Fetch、Supertest技能大比拼!

    Http Ajax技术哪家强?Axios.Superagent.Request.Fetch.Supertest技能大比拼! 现在,当您了解所有最著名的 JavaScript 框架时,是时候介绍 202 ...

  3. vue+axios方法封装(restful,ajax)

    this.$get({url: '',data: {},success: (data) => {}}) import qs from 'qs'// axios网络请求 function ajax ...

  4. 如何快速入门Ajax(学习笔记)—— 原生ajax、jQuery、axios

    如何快速入门Ajax 1. 服务器的基本概念 客户端与服务器 URL地址 网页中如何请求数据 资源的请求方式 2. 了解Ajax Ajax是什么 Ajax的应用场景 3. jQuery中的Ajax g ...

  5. jquery发送ajax请求_复习之Vue用axios发送ajax请求

    Axios是一个基于promise的HTTP库. 浏览器支持情况:Chrome.Firefox.Safari.Opera.Edge.IE8+. 官网:https://github.com/axios/ ...

  6. JS HTTP 请求库哪家强?Axios,Request,Superagent,Fetch 还是 Supertest

    JS HTTP 请求库哪家强?Axios,Request,Superagent,Fetch 还是 Supertest Web 开发中客户端与服务器间的交互非常重要,它有利于客户端应用高度动态化.用户通 ...

  7. axios访问后台404_使用 axios 后台无法接收到数据的解决方案

    如果想看排错思路的,可以看完踩坑经历,想直接要结果的,可以直接看解决方案. 踩坑经历 最近我在使用 SSM + Vue 做自己的小项目.Dao层 和 Service层 之类的代码已经写好了,就差 Co ...

  8. ajax提交相对路径报错,ajax提交请求为啥url要用这个函数encodeURI

    参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式 例如:ajax提交到后台的,就需要对url进行encodeURI编码, 否则,会导致后台出现各种乱码,不加en ...

  9. php ajax session失效,PHP中解决ajax请求session过期退出登录问题

    1.session过期,如果直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用以下封装的方法,进行session信息判断以及页面的跳转,如: i ...

最新文章

  1. Docker学习(八)-----Docker安装mysql
  2. ecm工作原理 usb_(转)USB中CDC-ECM的了解和配置
  3. Linux环境中Visual Studio Code 安装配置及其卸载(详细教程)
  4. Redis进阶-Redis对于过期键的三种清除策略
  5. 面怎么煮更好吃?你必须知道的7个小技巧
  6. Qt Creator添加Qt Designer插件
  7. dependencies与dependencyManagement的区(转自:http://blog.csdn.net/liutengteng130/article/details/46991829)
  8. input和img图片水平对齐
  9. Aspcms框架的webshell
  10. 1668智能下数教程视频_你需要的教程合集更新
  11. 【免费毕设】asp.net电子书城系统设计与实现(源代码+lunwen)
  12. 使用python-docx模块解析docx文档
  13. Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks 论文阅读、复现及思考
  14. Basic Block
  15. oracle mysql 同义词,有关Oracle数据库中同义词的简单介绍
  16. 华为游戏中心登录无法连接服务器,如何电脑登陆华为账号登录不了游戏
  17. python电子签章_签名python的搜索结果-阿里云开发者社区
  18. 无需任何配置,初学者必会的一键获取微信小程序源代码的快捷方法与工具使用
  19. java计算机毕业设计医护人员排班系统源码+系统+lw+数据库+调试运行
  20. 关于端午节的网页设计HTML,梦幻西游网页版2021端午节活动龙舟竞渡攻略大全

热门文章

  1. 继承ViewGroup类
  2. 从FTP上下载文件到本地
  3. 【邮箱使用】Yahoo邮箱POP3、SMTP开通以及设置方法
  4. Silverlight学习之——如何在 Silverlight 中使用 Deep Zoom
  5. Mocha BSM产品亮点——关联事件分析
  6. 维基链超级节点竞选开展如火如荼
  7. 使用BCH提供的客户端将消息绑定到任何位置
  8. 【团队】 冲刺一(4/10)
  9. 重构职场竞争力之测试能力提升方法
  10. EMC首席数据治理官:“受托人”是数据湖问责的关键