关于CORS是复杂请求却没有预检的问题
我使用的Axios
,在请求头中加入了config.headers.Authorization
来传递token
。
然后定义了config.headers.post['Content-Type'] = 'application/json';
我看MDN上说,Content-Type
为application/json
是复杂请求,会有OPTIONS
预检。
我的个人项目,每次请求都有两次:
这次是预检
这次是返回数据
但是在我看掘金的请求的时候,也是Content-Type: application/json
,就没有看见OPTIONS
预检这一项呢?
就是下图:
难道掘金不是复杂请求吗?而且我看网站,都没有看见OPTIONS
预检。是因为大家都给设置了Access-Control-Max-Age
,减少了预检吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请求跨域资源才会有 OPTIONS 预检,同域请求是没有的。
另外预检结果会根据
Access-Control-Max-Age
来缓存。你可以勾选上开发者工具的 Disable cache 强制不缓存再看看,就能看到预检的请求。