报错如图:
首先出现options
请求是因为你添加了自定义的请求头,导致你的简单跨域请求变成了复杂跨域的。
本人看了很多相关文章,有的说让后台加什么请求头,不行。让运出来一下,还是可以的。
自己瞎搞搞,发现,有一个请求头其实不需要的,注释了。就再也不会调用options
方式请求啦!!!!
import axios from 'axios';
import qs from 'qs';
let instance = axios.create({
method: 'post', // default
transformRequest: [function(data) {
return qs.stringify(data, {arrayFormat: 'brackets'});
}],
// `headers` 是即将被发送的自定义请求头
headers: {
// 'X-Requested-With': 'XMLHttpRequest', // 就是这个自定义的请求头啊!!!,可以不需要的,注释了哈
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
},
timeout: 120000,
responseType: 'json', // default
});
instance.interceptors.response.use(response => {
return response;
}, error => {
// 这里我们把错误信息扶正, 后面就不需要写 catch 了
return Promise.resolve({
exception: [error.response.status, error.response.statusText, error.response.request.responseURL].join(" "),
msg: error.response.statusText,
data: response.statusText,
})
});
export default instance;