1.前端浏览器报错如下:
Access to XMLHttpRequest at http://xxx.xxx from origin 'http://localhost:8000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
2.axios 封装
// 创建 axios 实例
const service = axios.create({
baseURL: process.env.BASE_API, // api 的 base_url
timeout: 5000, // 请求超时时间
headers: { 'Content-Type': 'multipart/form-data' }
})
//实例中加了 headers (搜索说可以变为简单请求,不再发送 options )
if (config.method === 'post') {
config.data = qs.stringify({
...config.data
})
}
// 拦截器加了这段代码格式化数据
但是做了修改,仍然初次会发一个 options,并且 options 的请求为 302
1
zhangnuli 2019-01-15 19:40:06 +08:00 via Android
生产环境存在环境跨域后台设置
vue 开发环境配置 vue.confug.js 瞎说的 😱 |
2
Trim21 2019-01-15 19:44:21 +08:00 via iPhone
你在拦截器里加了一个 x-token 的请求头,实际发出去的请求就不是简单请求了
|
3
momocraft 2019-01-15 19:45:48 +08:00
前端三大经典问题之一:如何发送 (违反浏览器安全策略的) 跨域请求
|
4
66beta 2019-01-15 19:47:15 +08:00 via Android
vue.config.js 中设置 devServer -≥ proxy
|
5
tyx1703 2019-01-15 19:57:36 +08:00 via Android
|
6
CFO 2019-01-15 20:08:34 +08:00 via Android
开发环境配置 proxy 生产环境用相对路径
|
7
IsaacYoung 2019-01-15 20:11:43 +08:00
错误信息:preflight request 说明已经不是简单请求了
|
9
xiaohantx OP @IsaacYoung 感谢学习到了
|