vue axios 出现OPTIONS重复请求
会出现OPTIONS请求,大至原因是,跨域的问题造成的
OPTIONS请求,是预请求,检测请求地址是否能请求,如果可以,则在携带参数发起真正的请求
所以导行,出现两个重复的请求
解决这个问题
全局设置axios header请求头
在main.js,引入 import axios from 'axios' 后加入下面代码
axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
如果你发现,原来的post方法无法正常传参,你需要引 qs 这个插件
例:
原本是这样的 变成了这样的,导行后台无法拿到参数
安装
npm install qs --save
在main.js 中引入
import qs from 'qs' Vue.prototype.$qs = qs
调用示列
let that = this; let postData = this.$qs.stringify({id:9}); this.axios.post('/api/pub/ad',postData).then(function (response) { that.banner = response.data; }).catch(function (error) {console.log(error);});