项目场景:
<font color=#999AAA >提示:axios发送get和post请求都提示:
Access to script at ‘XXXX’ from origin ‘null’ has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. </font>
原因分析:
<font color=#999AAA >
本地file文件请求,导致跨域,只有firefox浏览器可以直接从文件中打开,不提示跨域,更换成Firefox浏览器就不显示了(玄学)
</font>
解决方案:
大佬给我加了一个config配置文件,然后啥浏览器都能直接访问了
public class WebMvcConfigurerConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") //添加映射路径,“/**”表示对所有的路径实行全局跨域访问权限的设置
.allowedOrigins("*") //开放哪些ip、端口、域名的访问权限
.allowCredentials(true) //是否允许发送Cookie信息
.allowedMethods("GET", "POST", "PUT", "DELETE") //开放哪些Http方法,允许跨域访问
.allowedHeaders("*") //允许HTTP请求中的携带哪些Header信息
.exposedHeaders("*"); //暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)
}
特地记录
其实我也没太看懂了,奇奇怪怪,有大佬可以解释一下嘛,我就是单文件通过axios请求得到json数据,利用vue双向绑定,页面数据显示,按理说没有跨域问题,昨天折腾了我好久 |