前端使用XMLHttpRequest向后端发请求,由于前后端分离模式,所以分开部署,因为域名也不同,故这个跨域访问搞了我一整天时间不得其解。
其实我早就解决了,网上什么资源都有,只不过是后台返回的response的header加个Access-Control-Allow-Origin: * 。但是傻逼就傻逼在我是请求成功(即业务逻辑上的请求成功)下才设置header,而前端代码里发送的时候得到的response则是业务逻辑错误的回复(因为贪方便,故请求未带上token),故没有这个header,使得我认为后台明明加了这个header,为什么前端还是一直报这个错误。
理论上来说,这么试多次之后,应该早就发现后台代码有问题,但更傻逼的是,我用postman去测试,带token,得到成功的response,header里是有Access-Control-Allow-Origin: * 的,使得我老是以为是前端代码的问题,就这么搞了一天。
真傻吊。
/*******************************************************/
记录下笔记
浏览器对于复杂的跨域请求
https://blog.csdn.net/u010918487/article/details/82686293
浏览器是会先发送一次option方法。然后得到结果的header是允许跨域之后,才会发送第二次的。
有疑问加站长微信联系(非本文作者))