很多朋友在使用 vue 的过程中肯定会用到 axios 请求, 包括现在 vux 中已经自带了 axios, 而且用法也很简单, 文档中写的比较清楚, 但是当我们使用 post 提交时, 却发现有时候会出现参数没有发送到服务器的问题, 我记得文档中也说了这一情况的出现, 在这里我把这设置情况记录下来, 方便下次需要的时候直接使用不需要翻阅旧代码了
下面是 vux 中的使用方式, 很简单, 把代码放置在 main.js 中就可以了如果仅仅使用了 vue 的话, 直接安装了 axios 的话, 设置方式也雷同, 就不记录了
- import qs from 'qs'
- import es6Promise from 'es6-promise'
- import {AjaxPlugin} from 'vux'
- Vue.use(AjaxPlugin)
- AjaxPlugin.$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
- // POST 传参序列化 (添加请求拦截器)
- AjaxPlugin.$http.interceptors.request.use((config) => {
- // 发送请求之前做某件事
- if (config.method === 'post') {
- config.data = qs.stringify(config.data)
- }
- return config
- }, (error) => {
- return error
- })
注意: 放置在 new Vue({}) 前面
来源: http://www.jb51.net/article/135914.htm