ajax与axios使用哪个好,ajax、axios、fetch之间的详细区别以及优缺点
将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之间的详细区别以及优缺点相关推荐
- ajax速度axio速度,[转]Ajax Fetch Axios之间的详细区别以及优缺点
jQuery ajax1 2 3 4 5 6 7 8$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: ...
- Http Ajax技术哪家强?Axios、Superagent、Request、Fetch、Supertest技能大比拼!
Http Ajax技术哪家强?Axios.Superagent.Request.Fetch.Supertest技能大比拼! 现在,当您了解所有最著名的 JavaScript 框架时,是时候介绍 202 ...
- vue+axios方法封装(restful,ajax)
this.$get({url: '',data: {},success: (data) => {}}) import qs from 'qs'// axios网络请求 function ajax ...
- 如何快速入门Ajax(学习笔记)—— 原生ajax、jQuery、axios
如何快速入门Ajax 1. 服务器的基本概念 客户端与服务器 URL地址 网页中如何请求数据 资源的请求方式 2. 了解Ajax Ajax是什么 Ajax的应用场景 3. jQuery中的Ajax g ...
- jquery发送ajax请求_复习之Vue用axios发送ajax请求
Axios是一个基于promise的HTTP库. 浏览器支持情况:Chrome.Firefox.Safari.Opera.Edge.IE8+. 官网:https://github.com/axios/ ...
- JS HTTP 请求库哪家强?Axios,Request,Superagent,Fetch 还是 Supertest
JS HTTP 请求库哪家强?Axios,Request,Superagent,Fetch 还是 Supertest Web 开发中客户端与服务器间的交互非常重要,它有利于客户端应用高度动态化.用户通 ...
- axios访问后台404_使用 axios 后台无法接收到数据的解决方案
如果想看排错思路的,可以看完踩坑经历,想直接要结果的,可以直接看解决方案. 踩坑经历 最近我在使用 SSM + Vue 做自己的小项目.Dao层 和 Service层 之类的代码已经写好了,就差 Co ...
- ajax提交相对路径报错,ajax提交请求为啥url要用这个函数encodeURI
参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式 例如:ajax提交到后台的,就需要对url进行encodeURI编码, 否则,会导致后台出现各种乱码,不加en ...
- php ajax session失效,PHP中解决ajax请求session过期退出登录问题
1.session过期,如果直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用以下封装的方法,进行session信息判断以及页面的跳转,如: i ...
最新文章
- Docker学习(八)-----Docker安装mysql
- ecm工作原理 usb_(转)USB中CDC-ECM的了解和配置
- Linux环境中Visual Studio Code 安装配置及其卸载(详细教程)
- Redis进阶-Redis对于过期键的三种清除策略
- 面怎么煮更好吃?你必须知道的7个小技巧
- Qt Creator添加Qt Designer插件
- dependencies与dependencyManagement的区(转自:http://blog.csdn.net/liutengteng130/article/details/46991829)
- input和img图片水平对齐
- Aspcms框架的webshell
- 1668智能下数教程视频_你需要的教程合集更新
- 【免费毕设】asp.net电子书城系统设计与实现(源代码+lunwen)
- 使用python-docx模块解析docx文档
- Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks 论文阅读、复现及思考
- Basic Block
- oracle mysql 同义词,有关Oracle数据库中同义词的简单介绍
- 华为游戏中心登录无法连接服务器,如何电脑登陆华为账号登录不了游戏
- python电子签章_签名python的搜索结果-阿里云开发者社区
- 无需任何配置,初学者必会的一键获取微信小程序源代码的快捷方法与工具使用
- java计算机毕业设计医护人员排班系统源码+系统+lw+数据库+调试运行
- 关于端午节的网页设计HTML,梦幻西游网页版2021端午节活动龙舟竞渡攻略大全