在Vue项目中前后端交互时,早期的Vue版本使用Vue-resource插件从后台获取数据。从Vue2.0之后就不再对vue-resource进行更新,而是推荐使用axios.
vue-resource
Vue.js的插件提供了使用XMLHttpRequest 或 JSONP进行Web请求和处理响应的服务。vue-resource像jQuery的$,ajax,用来进行数据交互。主要用于发送ajax请求。
特点:
1.体积小,压缩后大约12kb
2.支持主流浏览器,除了IE9以下
3.支持Promiss API 和URL Templates
4.支持拦截器,拦截器是全局的,可以在请求发送前和发送请求后做一些事情。
axios
特点:
1.在浏览器中发送XMLHttpRequests请求
2.在node.js中发送http请求
3.支持Promiss API
4.拦截器请求和响应
5.转换请求和响应数据
6.取消请求
7.自动转换JSON数据
8.客户端支持保护安全免受CSRF/XSRF攻击
// get请求
axios.get('/user', {
params: {
ID: 12345
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
// post请求
axios.post('/user', {
firstName: 'Fred', // 参数 firstName
lastName: 'Flintstone' // 参数 lastName
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});