报错如下:
原因:
浏览器 缓存跨域,顾名思义是由于浏览器的缓存机制导致的一种跨域情况。这种跨域一般会出现在浏览器通过一些无视跨域的标签和css(如img、background-image)缓存了一些图片资源之后,当再次发起图片请求时(比如转base64等操作),就不会向服务器端请求数据,而是直接请求缓存数据,从而引起了跨域。这个时候即使服务端设置了Access-Control-Allow-Origin,但浏览器请求的是缓存,依旧会导致跨域的发生。
省流:浏览器请求的是服务器的缓存数据,会导致跨域的发生。
解决方法:禁用缓存强刷/无痕浏览。
参考:
前端填坑之浏览器缓存跨域 - 个人文章 - SegmentFault 思否