关于传统的AJAX跟fetch和axios的区别
ajax:采用的是创建XMLHttpRequest对象来发送请求
jquery:本质上还是对于XMLHttpRequest的封装
axios:是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端。本质也是对ajax的封装
fetch:是window的一个方法,并没有采用XMLHttpRequest,使用的是Promises来处理回调结果,这比传统的的ajax更加简洁
解释可能不太详细,想了解的可以自行查阅资料
jQuery
$.ajax({ url: "test.html",
context: document.body,
success: function(){
$(this).addClass("done");
}});
fetch
fetch(URL, {
method: /*请求方式 GET 或者 POST*/,
body: JSON.stringify({
/*需要传输的数据*/
})
}).then(res => res.text()).then(data => {
console.log(/*返回的数据*/)
})
axios
- 发送GET请求
axios.get('/user?ID=12345')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
- 发送POST请求
axios.post(url[, data[, config]])
eg:
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});