跨域解决办法

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无效的解决办法

ajax跨域解决办法

uni-app跨域请求接口解决办法

JavaScript跨域总结与解决办法

前后端联调跨域解决办法