java后端解决跨域问题has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is_ic_xcc的博客-程序员秘密

技术标签: java  

最近项目需求,后端代码部署之后,前端访问接口请求数据获取报错Access to XMLHttpRequest at 'http://xx.x.xx.xxx:9090/common/getOrderList' from origin 'http://xx.x.xx.xxx:18004' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.,于是有了这篇博文记录一下

解决核心代码:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class CorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        //1.添加CORS配置信息
        CorsConfiguration config = new CorsConfiguration();
        //1) 允许的域,不要写*,否则cookie就无法使用了
        config.addAllowedOrigin("*");
        //2) 是否发送Cookie信息
        config.setAllowCredentials(true);
        //3) 允许的请求方式GET POST等
        config.addAllowedMethod("*");
        // 4)允许的头信息
        config.addAllowedHeader("*");
        config.setMaxAge(3600L);

        //2.添加映射路径,我们拦截一切请求
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**", config);

        //3.返回新的CorsFilter.
        return new CorsFilter(configSource);
    }
}

cors里的设置允许所有,所有为*,如果需要设置单一请求将*替换成所需对应的域名即可,亲测有效。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ic_xcc/article/details/109284997

智能推荐

RK3308 LINUX开发者指南_叶涛seo网站优化推广的博客-程序员秘密

  安装 Kernel 及 U-Boot 编译需要依赖的软件包:  若编译遇到报错,可以视报错信息,安装对应的软件包。因本文记录安装ubuntu的根文件系统,在此省略了buildroot的编译环境安装。   U-Boot 及 Kernel 使用的编译工具链在 prebuilt/gcc目录下:  由于...

iOS原生 Native和Javascript交互_里皮同学的博客-程序员秘密

Native中运行JavaScript代码通过JSContext对象(类似于JavaScript运行环境),执行js代码(从js文件中获取的NSString)//获取js文件路径NSString *path = [[NSBundle mainBundle] pathForResource:"main" ofType:@"js"];//读取js数据NSData *jsData =[[NSData alloc]initWithContentsOfFile:path];//从data解码成strin

mac下登录mysql数据库_1.Mac下面按照mysql数据库的步骤:_江楠悠悠的博客-程序员秘密

1.准备工作下载2个东西:2.打开mysql.dmg的安装包然后按照就行,然后点击完成了3.打开终端,然后输入 mysql --version 这个命令(1)如果下面这个情况说明环境安装成功了bailingdeMacBook-Air:~ bailing$ mysql --versionmysql Ver 14.14 Distrib 5.7.18, for macos10.12 (x86_64) ...

随便推点

mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天等等..._炸酱李的博客-程序员秘密

转自: https://blog.csdn.net/min996358312/article/details/614204621、当函数使用时,即interval(),为比较函数,如:interval(10,1,3,5,7); 结果为4;原理:10为被比较数,后面1,3,5,7为比较数,将后面四个依次与10比较,看后面数字组有多少个少于10,则返回其个数。前提是后面数字组为从小到大排列,否则返回结...

CAS5 报错javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matchin_ GuanHao的博客-程序员秘密_websocket ssl.sslhandshakeexception: no name match

在Tomcat的Server.xml端口配置的密钥库没有你访问的域名设置进去 <Connector port="8443" protocol="HTTP/1.1" minSpareThreads="5" maxSpareThreads="75" enableLookups="true...

阅读莫凡python中的DQN代码遇到的基础知识障碍的解决_HAH-M的博客-程序员秘密_莫凡dqn

阅读莫凡python中的DQN代码遇到的基础知识障碍的解决tf.get_collection()tf.add_to_collection:把变量放入一个集合,把很多变量变成一个列表tf.get_collection:从一个结合中取出全部变量,是一个列表tf.add_n:把一个列表的东西都依次加起来...

Object.keys()和hasOwnproperty_微笑边缘的金元宝的博客-程序员秘密

hasOwnproperty 判断自身属性是否存在var a = {a:'a',b:'b'}a.hasOwnProperty('c') // falsea.hasOwnProperty('b') // truehasOwnProperty 检查对象是否包含属性名,无法检查原型链上是否具有此属性名。所以我们要使用Object原型上的hasOwnProperty来判断var a = {...

iOS GCD之dispatch_semaphore(信号量)_allanGold的博客-程序员秘密_ios dispatch_semaphore_t变量突然变nil

原文地址:https://blog.csdn.net/liuyang11908/article/details/70757534前言最近在看AFNetworking3.0源码时,注意到在 AFURLSessionManager.m 里面的 tasksForKeyPath: 方法 (L681),dispatch_semaphore不甚理解,经查原来是通过引入信号量(dispatch_semaphor...

将iframe设置为可编辑状态_Pure_Eyes的博客-程序员秘密_iframe可编辑

iframe设置可编辑状态时当用iframe.contentWindow.document.body.contentEditable= "true";设置是必须等浏览器加载完iframe后才能起作用,所欲该语句必须放在加载iframe语句后面,放在前面的话会出错,如下var iframe=document.createElement("iframe"); iframe.id="te";

推荐文章

热门文章

相关标签