vue axios 不管设置任何headers,都会产生跨域

yii2 后端已设置跨域
carbon (1).png

vue请求方法
carbon.png

请求时还是存在跨域
image (1).png

将vue中注释以下代码就可以请求成功

axios.defaults.headers.Authorization = 'Bearer 123456'

网上找了半天,都没有解决

阅读 5.3k
3 个回答

POSTheader会先发送一次预请求 OPTIONS,后端通过才执行数据提交 POST请求。这个应该是预请求被拒绝了,说到底还是后端问题,没有允许这个header

默认浏览器同源策略仅允许,部分必要 Header 头进行跨域发送,如果需要发送自定义 Header ,还需要服务端还需要添加允许。

HTTP访问控制(CORS) - HTTP | MDN

看起来是应该加在这下面

'Access-Control-Expose-Headers' => ['Authorization'],

图片.png

新手上路,请多包涵

已解决
yii2 改为carbon (3).png

yii\filters\Cors 应在 授权认证 过滤器之前定义,以保证CORS头部被发送。


还有一种办法是
在init初始化时设置header
carbon (4).png

参考链接

推荐问题
宣传栏