【无标题】

前后端跨域问题推荐cors

后端配置cors跨域

复制@Configurationpublic class GlobalCorsConfig {    
@Bean    
public CorsFilter corsFilter() {        
CorsConfiguration config = new CorsConfiguration();        
// 设置你要允许的网站域名        
config.addAllowedOrigin("http://localhost:8080");        
//允许跨域发送cookie        
config.setAllowCredentials(true);       
//放行全部原始头信息        
config.addAllowedHeader("*");       
//允许所有请求方法跨域调用       
config.addAllowedMethod("*");        
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();        source.registerCorsConfiguration("/**", config);        
return new CorsFilter(source);    }}

注:跨域是指在浏览器中,由于浏览器的同源策略(Same Origin Policy)的限制,导致协议、域名、端口号中任意一个不同的请求都会被浏览器视为跨域请求。如果前后端存在跨域问题,需要采取相应的解决措施,以下是常见的解决方法:

JSONP:在客户端页面中动态创建 script 标签,src 属性指向服务器 API 的地址,并将一些回调函数的参数传递给服务器,服务器把数据放在回调函数的参数中,最终返回给客户端,在客户端通过回调函数来拿到数据。

CORS(跨域资源共享):后端主动设置让浏览器能够跨域访问,服务器设置 Access-Control-Allow-Origin 和其他一些 Access-Control-* 的响应头来控制。

代理:前端通过自己的后台 API(一般不存在跨域问题)来 proxy 转发请求,实现前端与后端的连接,然后由后台 API 来调用目标 API 数据并返回给前端。

Nginx 反向代理:使用 Nginx 服务器作为中间层,将前端请求转发到后端,由 Nginx 代理请求,从而实现跨域。

总的来说,跨域问题可以通过上述方法解决,选择哪种方法取决于具体的应用场景和需求,通常建议采用 CORS 的方式来解决跨域问题,因为它是 HTML5 标准中定义的官方解决方案,具有较好的兼容性。

文件参考:
跨域:https://segmentfault.com/a/1190000015597029

CORS:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值