1. Jquery ajax
$.ajax({
type:'POST',
url:url,
data:data,
success:function(){},
error:function(){}
})
Jquery ajax是对原生XHR的封装,此外还增添了对Jsonp的支持。
缺点:
- 针对MVC,不适合MVVM
- Jquery整个项目太大,就只为引入ajax引入jquery很不合理
2 axios
axios是Promise 实现对ajax的封装,就像Jquery对ajax的封装一样
axios是ajax, ajax不止axios
axios({
method:'post',
url:url,
data:data,
})
.then(function(response){
console.log(reponse)
})
.catch(function(error){
console.log(error)
})
特性:
3 Fetch
try{
let response = await fetch(url)
let data = response.json()
}
catch(e){
console.log(e)
}
缺点:
- fetch只对网络请求报错,对400,500都认为是成功,需要封装去处理
- fetch 默认不带cookie ,需要添加配置项
- fetch 不支持abort, 不支持超时控制,使用setTimeout 和 Promise.reject实现的超时控制并不能阻止请求过程中在后台的继续运行,造成资源浪费
- fetch 不能原生监测请求进度,而XHR可以
- 但是他有个可以控制跨域的办法,通过配置项 mode:‘no-cors’
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。