VUE网络请求中的axios
2018-12-24 14:18
302 查看
- 安装依赖
npm install axios --save
- 引入到 main.js 中
import axios from 'axios'
- 加载到 Vue 的原型上,让整个 Vue 可以使用
Vue.prototype.$axios = axios
- 有可能跨域,这时就要设置代理
在 config 下的 index.js 文件中添加
proxyTable: { '/api':{ target:'跨域地址', changeOrigin:true, pathRewrite:{ '^/api':'' } }, }
在 config 下的dev.env.js 文件中添加
API_HOST:'"/api"'
在 config 下的 prod.env.js 文件中添加
API_HOST:'"线上的地址"'
这样请求时的 url 就是:
url: process.env.API_HOST + ''
- 有时修改请求过来的数据,改变状态不管用
在改变状态之前加上
this.$forceUpdate();
- get 请求
this.$axios({ method: 'get', url: process.env.API_HOST + '', params:{}, }) .then(data => { console.log(data); }).catch(err => { console.log(err) });
- post请求
import Qs from 'qs';
this.$axios({ method: 'post', url: process.env.API_HOST + '', data: {}, transformRequest: [(data) => { data = Qs.stringify(data); return data; }], }).then(data => {});
- 如果传值规定为JSON,那么将
transformRequest: [(data) => { data = Qs.stringify(data); return data; }],
改为:
dateType: JSON,
- 跨域请求时,是否需要使用凭证(传固定的cookie),在 main.js 中添加
axios.defaults.withCredentials = true;
- 在 main.js 中配置拦截:
// 添加请求拦截器 axios.interceptors.request.use(config => { // 在发送请求之前做些什么 return config; }, error => { // 对请求错误做些什么 return Promise.reject(error); }); // 添加响应拦截器 axios.interceptors.response.use((response) => { // 对响应数据做点什么 return response; }, (error) => { // 对响应错误做点什么 return Promise.reject(error); });
- put 请求
this.$axios({ method: 'put', url: process.env.API_HOST + '', data: {}, dateType: JSON,// 根据后台要求的数据类型进行传值 }).then(data => { });
- delete 请求
this.$axios({ method: 'delete', url: process.env.API_HOST + '', params:{}, }).then(data => { console.log(data); }).catch(err => { console.log(err) });
相关文章推荐
- vue-cli axios请求方式及跨域处理问题
- Vue项目之Axios数据请求
- mock.js在vue中的使用(axios请求数据)
- vue项目使用axios发送请求让ajax请求头部携带cookie
- vue中使用axios+Promise二次封装ajax请求
- Vue+axios请求传值问题
- vue之请求方法--axios
- Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求
- vue 的axios请求数据2种方式 很重要
- vue项目使用axios发送请求让ajax请求头部携带cookie的方法
- node.js通过axios实现网络请求
- Vue 使用axios 发送post请求,参数格式有错误问题
- Vue 请求数据 axios , vue-resource
- Vue2.0 axios请求以及loading展示
- Vue项目之Axios数据请求
- vue 请求采用axios
- vue 集成 axios 发送post请求 payload导致后台无法接收到数据问题
- vue 请求 之 axios
- vuex state mutation action 之间关系,axios 跨域代理请求问题
- 详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper