springboot+vue发送axios请求引起的跨域问题

项目场景:

提示: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.


原因分析:

本地file文件请求,导致跨域,只有firefox浏览器可以直接从文件中打开,不提示跨域,更换成Firefox浏览器就不显示了(玄学)

解决方案:

大佬给我加了一个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("*");   //暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)
    }

特地记录

一息若存,希望不灭
原文地址:https://www.cnblogs.com/yishuai/p/14395495.html