在Vue项目中前后端交互时,早期Vue使用Vue-resource实现异步请求。
从Vue2.0之后就不再对vue-resource进行更新,Vue官方推荐使用axios。
一、vue-resource
Vue.js的插件提供了使用XMLHttpRequest 或 JSONP进行Web请求和处理响应的服务。vue-resource像jQuery的$,ajax,用来进行数据交互。主要用于发送ajax请求。
特点:
1.体积小,压缩后约12kb
2.支持主流浏览器(除IE9以下)
3.支持Promiss API 和 URL Templates
4.支持拦截器,可全局设置拦截器,可以在请求发送前和发送请求后做一些事情。
语法 & API:
以使用全局对象方式 Vue.http 或者在一个 Vue 实例的内部使用 this.$http来发起 HTTP 请求。
使用vue-resource发送跨域请求
1.安装vue-resource并引入
bash
cnpm install vue-resource -S
2.基本用法
使用this.$http发送请求
javascript
this.$http.get(url, [options])
this.$http.head(url, [options])
this.$http.delete(url, [options])
this.$http.jsonp(url, [options])
this.$http.post(url, [body], [options])
this.$http.put(url, [body], [options])
this.$http.patch(url, [body], [options])
3.相关文章推荐
vue-resource: The HTTP client for Vue.js
https://www.cnblogs.com/zhaoxiaoying/p/11950567.html【本文部分内容,摘录此文章】
https://www.cnblogs.com/wspblog/p/9844986.html【本文部分内容,摘录此文章】
Vue.js Ajax(vue-resource) | 菜鸟教程
Vue------Vue-resource详解-CSDN博客
二、axios
特点:
1.在浏览器中发送XMLHttpRequests请求
2.在node.js中发送http请求
3.支持Promiss API( 依赖原生的 ES6 Promise,如果你的环境不支持 ES6 Promise,可以使用 polyfill。 )
4.可创建实例
5.拦截器请求和响应
6.转换请求和响应数据
7.并发请求
8.取消请求
9.自动转换JSON数据
10.客户端支持保护安全免受CSRF/XSRF攻击
1. 安装axios并引入
javascript
npm install axios -S
也可直接下载axios.min.js文件
2.基本用法
javascript
axios([options])
axios.get(url[,options]);
传参方式:
1.通过url传参
2.通过params选项传参
javascript
axios.post(url,data,[options]);
axios默认发送数据时,
数据格式是Request Payload,
并非我们常用的Form Data格式,
所以参数必须要以键值对形式传递,不能以json形式传参 传参方式:
1.自己拼接为键值对
2.使用transformRequest,在请求发送前将请求数据进行转换
3.如果使用模块化开发,可以使用qs模块进行转换
例如这样传参:
javascript
username=renping&password=123456
可参考下面文章:vue 在使用post提交json数据、表单数据,object数据,解决方案_vue项目提交请求,数据为表单数据-CSDN博客
3.相关文章推荐
https://www.cnblogs.com/zhaoxiaoying/p/11950567.html【本文部分内容,摘录此文章】
https://www.cnblogs.com/wspblog/p/9844986.html【本文部分内容,摘录此文章】