问题描述
- 两个域名 a.domain.com b.domain.com
- 这两个站点都异步访问c.domain.com接口,参数也一样
- a站点,有访问b站点的链接
- 访问a正常,跳转b正常,点击浏览器的回退按钮 goback提示
The 'Access-Control-Allow-Origin' header has a value 'http://b.domain.com' that is not equal to the supplied origin. Origin 'http://a.domain.com' is therefore not allowed access
导致异步接口跨域
解决之道
- (推荐)异步接口添加时间戳
'http://c.domain.com/xxxxx?v=' + Date.now();
- a站点添加
Cache-Control: no-cache
剖析
由于异步c接口,参数一样,浏览器回退,浏览器缓存导致出现跨域
参考文献
https://stackoverflow.com/questions/41413546/cors-error-on-browser-back-button