1、jQuery ajax
$.ajax({
type:'POST',
url:url,
data:data,
dataType:dataType,
success:function(){},
error:function(){}
});
优缺点:
- 本身是针对MVC的编程,不符合现在前端的MVVM的浪潮
- 基于原生的XHR开发,XHR本身的架构不清晰,已经有了fetch的替代方案
- JQuery整个项目太大,单纯使用ajax却要引入整个JQuery
非常的不合理(采取个性化打包的方案又不能享受CDN服务)
2、axios
axios({
method:'post',
url:'/user/12345',
data:{
firstName:'Fred',
lastName:'Flintstone'
}
})
.then(function(response){
console.log(response);
})
.catch(function(error){
console.log(error);
});
优缺点:
- 从node.js创建http请求
- 支持Promise API
- 客户端支持防止CSRF
- 提供了一些并发请求的接口(重要,方便了很多的操作)
为什么要用axios?
axios是一个基于Promise用于浏览器和nodejs的HTTP客户端,它本身具有以下特性:
- 从浏览器中创建XMLHttpRequest
- 从node.js发出http请求
- 支持Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 取消请求
- 自动转换JSON数据
- 客户端支持防止CSRF/XSRF