vue 设置了简单请求,仍然存在跨域问题

2019 年 1 月 15 日
 xiaohantx

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 封装

封装代码

  1. 在封装基础做了修改
// 创建 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

30310 次点击
所在节点    问与答
9 条回复
zhangnuli
2019 年 1 月 15 日
生产环境存在环境跨域后台设置
vue 开发环境配置 vue.confug.js
瞎说的 😱
Trim21
2019 年 1 月 15 日
你在拦截器里加了一个 x-token 的请求头,实际发出去的请求就不是简单请求了
momocraft
2019 年 1 月 15 日
前端三大经典问题之一:如何发送 (违反浏览器安全策略的) 跨域请求
66beta
2019 年 1 月 15 日
vue.config.js 中设置 devServer -≥ proxy
unsized
2019 年 1 月 15 日
CFO
2019 年 1 月 15 日
开发环境配置 proxy 生产环境用相对路径
IsaacYoung
2019 年 1 月 15 日
错误信息:preflight request 说明已经不是简单请求了
xiaohantx
2019 年 1 月 16 日
@66beta 采用了这个解决方案解决了感谢
xiaohantx
2019 年 1 月 16 日
@IsaacYoung 感谢学习到了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/527341

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX