跨域解决办法
Posted java-cxh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨域解决办法相关的知识,希望对你有一定的参考价值。
我认为的跨域:
浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域
跨域相关的报错:
No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘null‘ is therefore not allowed access.
解决办法:
1、nginx配置允许跨域
参考文档:
https://www.cnblogs.com/hawk-whu/p/6725699.html
2、程序代码中处理 使用spring boot的注解
SpringBoot自带配置需要跨域的方法上加@CrossOrigin
3、增加配置类
package com.cm.weixin.pay.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class Cors extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")//跨域路径
.allowedOrigins("*")//线上静态域名
.allowedMethods("GET", "POST", "PUT", "OPTIONS", "DELETE", "PATCH")
.allowCredentials(true).maxAge(3600);
}
}
以上2、3亲测有效 1还未验证
以上是关于跨域解决办法的主要内容,如果未能解决你的问题,请参考以下文章
nginx跨域设置无效的解决办法 Nginx跨域设置Access-Control-Allow-Origin无效的解决办法
nginx跨域设置无效的解决办法 Nginx跨域设置Access-Control-Allow-Origin无效的解决办法