关于跨域请求,自定义Header头无法请求的问题
2018-12-12 17:11 浏览(2130

使用vue获取跨域请求时,需要带上自定义的header头 AuthToken

...
config.headers['AuthToken'] = getToken()
...

但是请求时被拒绝

这时需要在服务器端设置如下header信息(php)

header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:*');
header("Access-Control-Allow-Headers:Content-Type,AuthToken");

Access-Control-Allow-Origin和Access-Control-Allow-Methods请根据自己的业务来修改

在请求中设置了header字段,浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request)

检查Access-Control-Allow-Headers所设置的属性是否有自定义的header字段(AuthToken)

发现存在即可访问,在下次请求时header中将会带上AuthToken字段

参考

https://segmentfault.com/a/1190000006095018#articleHeader3

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS


评论(0)
发布评论
回复X
聊天室(0