前端跨域重复

今早一上班就被老大丢过来一个重大问题:昨晚前端打包部署到测试环境的系统登录不上了!!!我试了一下,果然是有问题,登录后调接口请求始终发不出去,控制台报错显示跨域了!

image
仔细确认了错误一下,确实是跨域了。奇怪的是,昨晚明明测试没问题才发布版本的。今早过来就出问题了,见鬼了!一开始,我以为是我的代码问题,从修改的代码里反复看了几遍,没发现有啥异常的地方,header请求头也没有问题。慢慢回想昨晚发生的事情, 我是用经过添加了跨域处理参数的chrome浏览器来访问的!!!所以,经过跨域处理的chrome浏览器一切正常,今天早上从正常的chrome浏览器访问出现跨域问题。之所以出现这个问题,是因为前两天跟后端联调接口,访问后端同事本地的服务器,出现了跨域问题,为了解决这个问题临时去后端代码做了设置,在他提交代码时没有把这个临时设置去掉,导致了跨域重复,就是这句“but only one is allowed”。我当时看了报错,并没有理解到是跨域重复,只能设置一个的意思。只知道是跨域导致的问题,把我的代码翻烂了,也没找到问题所在。问了项目组的同事也没找到解决办法,重复打包,甚至去git上翻提交的历史记录,对比其中的差异,试图寻找到问题出在哪里了???折腾到下午了,问题依旧没解决,最后把bug发出来,问了分公司的同事,人家给我来了句,跨域重复了!!!报错提示了两个相同的url,明显不对!最后领导在群里问话了,跟我联调的后端才说,昨天加了跨域设置!问题终于找到了!!!是原来后端代码已经设置过跨域了,再加一个跨域设置就会重复。顿时想拿刀砍人了我!还是我经验不够,折腾了好久,没看出报错问题出在哪,吃一堑长一智,先记录下来。

文章来源: segmentfault.com,作者:Mr.J,版权归原作者所有,如需转载,请联系作者。

原文链接:segmentfault.com/a/1190000039388625

(完)