关于CORS机制的详细解释这里就不多做介绍了,相关的文档资源也很多,推荐查看MDN上“HTTP访问控制(CORS)”文章的讲解。这里主要记录一下,我在nginx上做好配置,已经添加好了“Access-Control-Allow-Origin”头部之后,跨域依旧报错的问题。
如下是nginx的配置片段,已经加好了相应的头部:
但是前端访问时还是报错:
原因在于此接口的返回码是400,而按照nginx官方文档针对add_header指令的说明,上面的配置,“add_header”指令默认只会给2xx和3xx开头的部分http返回码加上头部,除此返回码之外的其他响应是不会加上对应头部的。
解决办法,nginx文档也已说明,只需要在指令后面加上“always”参数即可。
更改完配置之后,使用“nginx -sreload”命令加载最新配置。前端重新请求接口,报错消失。
参考资料:
网友评论