一、问题描述
有前端小伙伴反馈ajax请求遇到跨域问题,也让后端小伙伴设置了跨域允许,但诡异的事情是在前端小伙伴的微信开发者工具中Network headers中看到了两行:Access-Control-Allow-Origin,其中居然出现了:“Access-Control-Allow-Origin:*”:
但在我电脑上的微信开发者工具却是正常,并没有“Access-Control-Allow-Origin:*”:
而后端小伙伴在ng中确实也去掉了“Access-Control-Allow-Origin:*”的设置,设定成指定的域名。
二、问题排查
微信开发者工具版本是一致的,为了排除客户端的差异引起的影响,确定是否是后端的设置问题,使用了CURL来进行请求,查看返回的请求头信息:
curl -i -H "Content-Type:application/json" -X POST -d '{"xxx":"xx"}' http://xxx
可以看到请求返回的headers确实带有Access-Control-Allow-Origin:*
,最终排查确定是后端的代码中设置了Access-Control-Allow-Origin:*。