已设Access-Control-Allow-Origin,AJAX请求仍报跨域问题的解决

2023-05-26 23:26:46
黄豆 UsualTool.com
编程思维/其他 1615
loading
Ajax请求跨域问题比较常见,对于接口服务器来讲,一般设置Access-Control-Allow-Origin:*便能解决。
但对于Preflighted Request(带预检的跨域请求)来讲,光设置Access-Control-Allow-Origin:*不够。那么什么情况下会涉及到带预检的跨域请求呢?
设置了自定义header字段的请求,便会涉及到Preflighted Request。
此时,如果仅仅是接口端设置Access-Control-Allow-Origin:*,仍然会报跨域错误。那么该怎么解决呢?
以Nginx服务器为例:
location /{}中添加OPTIONS配置即可,代码如下:

if ($request_method = 'OPTIONS') { 

 add_header 'Access-Control-Allow-Origin' '*'; 

 add_header 'Access-Control-Allow-Methods' 'OPTIONS'; 

 add_header 'Access-Control-Allow-Headers' 'time,token,secret'; //此处是自定义请求头列表 

 return 200; 

 }


希望该经验对你有所帮助。

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦!

+分享给朋友+
郑重提醒:部分素材来源于互联网,如果侵犯了您的权利,请及时联络我们更正,谢谢合作,电邮:help@usualtool.com
隐私协议 | 免责声明 | 联系我们
版权所有 © 2018-2024 UsualTool.com. 蜀ICP备09015842号-2 川公网安备51018202000023号
UsualTool.com是免费向公众开放的公益服务网站