浏览器的跨域问题该怎么解决?

浏览器判断是跨域请求会在请求头上添加origin,表示这个请求来源哪里。比如:

Plaintext GET / HTTP/1.1 Origin: http://localhost:8601

服务器收到请求判断这个Origin是否允许跨域,如果允许则在响应头中说明允许该来源的跨域请求,如下:

Plaintext Access-Control-Allow-Origin:http://localhost:8601

如果允许任何域名来源的跨域请求,则响应如下:

Plaintext Access-Control-Allow-Origin:*

解决跨域的方法:

1、JSONP

通过script标签的src属性进行跨域请求,如果服务端要响应内容则首先读取请求参数callback的值,callback是一个回调函数的名称,服务端读取callback的值后将响应内容通过调用callback函数的方式告诉请求方。如下图:

浏览器的跨域问题该怎么解决?

2、添加响应头

服务端在响应头添加

Access-Control-Allow-Origin:

3、通过nginx代理跨域

由于服务端之间没有跨域,浏览器通过nginx去访问跨域地址。

浏览器的跨域问题该怎么解决?

1)浏览器先访问

http://192.168.101.10:8601 nginx提供的地址,进入页面

2)此页面要跨域访问

http://192.168.101.11:8601 ,不能直接跨域访问http://www.baidu.com:8601 ,而是访问nginx的一个同源地址,比如:

http://192.168.101.11:8601/api ,通过

http://192.168.101.11:8601/api 的代理去访问http://www.baidu.com:8601。

这样就实现了跨域访问。

浏览器到

http://192.168.101.11:8601/api 没有跨域

nginx到http://www.baidu.com:8601通过服务端通信,没有跨域。

我们准备使用方案2解决跨域问题。在内容管理的api工程config包下编写GlobalCorsConfig.java,

或直接从课程资料/项目工程下拷贝,

代码如下:

Java package com.xuecheng.system.config; 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; / * @description 跨域过虑器 * @author Mr.M * @date 2022/9/7 11:04 * @version 1.0 */ @Configuration public class GlobalCorsConfig { / * 允许跨域调用的过滤器 */ @Bean public CorsFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); //允许白名单域名进行跨域调用 config.addAllowedOrigin(“*”); //允许跨越发送cookie config.setAllowCredentials(true); //放行全部原始头信息 config.addAllowedHeader(“*”); //允许所有请求方法跨域调用 config.addAllowedMethod(“*”); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration(“/”, config); return new CorsFilter(source); } }

此配置类实现了跨域过虑器,在响应头添加

Access-Control-Allow-Origin。

重启系统管理服务,前端工程可以正常进入http://localhost:8601,观察浏览器记录,成功解决跨域。

浏览器的跨域问题该怎么解决?

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:浏览器的跨域问题该怎么解决? https://www.dachanpin.com/a/cyfx/10770.html

(0)
Apache软件安装与配置【图文教程】
上一篇 2023-05-12 02:15:05
软件测试模型有几种?这4中软件测试模型你都知道吗
下一篇 2023-05-12 02:16:18

相关推荐

  • 王者荣耀李白千年之狐皮肤重做怎么样 李白千年之狐皮肤重做特效一览

      A5创业项目春季招商 好项目招代理无忧   在王者荣耀中,李白是峡谷中的热门英雄。一举一动都非常受玩家们关注,近日李白重新建模的消息吸引不少玩家的眼球,并且李白人气皮肤千年之狐也进行了重做。下面我们一起看看吧。   李白·千年之狐重做皮肤介绍:   左侧为新版,右侧为原版   李白千年之狐皮肤重做动图欣赏:   小编解读:   千年之狐拥有着与凤求凰皮肤…

    创业分享 2023-05-19
    161
  • 21日创业板指跌1.86%

      21日创业板指以1866.81点高开,股指窄幅震荡,临近收盘大幅跳水,以1829.91点报收,比上个交易日跌34.71点,跌幅1.86%。   创业板全日成交额944亿元,比上个交易日增加约134亿元。在当日交易的662只股票中,有137只收盘报涨,、跌幅最大,跌7.21%。蓝色光标等15只股票当日收平。   创业板当日共有82只股票的换手率超过一成,科…

    创业分享 2023-05-19
    172
  • 创业板十周年:耳边响起注册制号角

      编者按:风雨兼程,创业板成立即将10周年。10年栉风沐雨,创业板不断发展壮大,推动我国经济转型升级,创新创业聚集示范效应不断显现。但是也应看到,创业板一些基础性制度亟待改革,为更好地发挥资本市场核心和纽带作用,推动创新经济向更大范围、更高层次和更深程度发展迫在眉睫。为探讨研究创业板如何改革,证券时报推出“创业板改革”相关专栏。   证券时报记者 吴少龙 …

    创业分享 2023-05-12
    183
  • 返乡创业成热潮 巢湖小伙加盟零售云舍弃北上广

      北上广的日子,对很多人来说,外表光鲜,却冷暖自知。   返乡创业,对大多数人来说,需要勇气,更需要机会。   好在,成功案例总是有的。   【缪老板的快乐与忧愁】   缪志平,1987年生于合肥巢湖,由于家里处境不好,高中还没念完就辍学了,一路北上成为了“北漂”。   家乡人眼里,缪志平自此在北京过上了光鲜的日子,但缪志平自己心里清楚,所谓光鲜的背后藏着…

    创业分享 2023-05-20
    121
  • 父亲节,如何获得傲娇潮爸的欢心?

      然而,我错了,本以为这才是父亲节正确的打开方式,谁料老爸傲娇地表示已经在微信群里约好老哥们父亲节当天一起去钓鱼,并在网上预约了摄影师随团跟拍,帅照要妥妥晒朋友圈。老爸还展示了某宝购物车里已经选好钓鱼当天要穿的爆帅夹克,让我“亲密付”一下(P.s.收件手机号却是我不认识的一个移动号码)。付完款后,我狗腿表示当天全程接送老爸和叔叔们,他老人家却掏出手机说:“…

    创业分享 2023-05-22
    205

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

工作时间:周一至周五,9:30-16:30,节假日休息