has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource

出现这个,就是跨域问题了,我是在vue用axios直接发送请求向java后台的过程中出现的

至于什么是跨域问题?

主要是有浏览器的同源策略导致的,目的就是为了保护网站使用者,若没有同源策略,那么在www.1.com的网站里就可以访问www.baidu.com的内容的这样就使www.1.com免费蹭了了baidu的服务,baidu肯定不愿意的,浏览器为了维护各个网站的安全就有了同源策略

然后我是在后端中解决的代码如下加上下面几个代码即可

@Configuration
public class WebConfig implements WebMvcConfigurer{


    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 设置允许跨域的路径
        registry.addMapping("/**")
            // 设置允许跨域请求的域名
            .allowedOrigins("*")
            // 是否允许证书
            .allowCredentials(true)
            .allowedMethods("*")
            .maxAge(3600);
    }

        ...
}

 

posted @ 2020-04-14 22:58  醉醉龙  阅读(24781)  评论(0编辑  收藏  举报