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

浏览器判断是跨域请求会在请求头上添加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

相关推荐

  • 非你莫属王莹莹 安徽财经大学投资学专业本科 做过销售,干过BD,创业当过厨娘

    非你莫属王莹莹 安徽财经大学投资学专业本科 做过销售,干过BD,创业当过厨娘 发布:2016-5-17 10:27 | 来源:本站 | 查看:40次 非你莫属王莹莹 安徽财经大学投资学专业本科 做过销售,干过BD,创业当过厨娘 简介真人网真人秀 Reality ShowYTn]6T9W 王莹莹 非你莫属20160516期嘉宾QQ微信资料照片联系方式 …

    创业分享 2023-06-01
  • 导师团队助力老兵创业

    中国国防报讯 滕腾、特约通讯员李京进报道:6月24日上午,山东省首批退役军人就业创业导师聘任会在济南市举行,山东省退役军人事务厅领导向退役军人就业创业标兵谢清森等12人颁发导师证书。这标志着山东省退役军人就业创业工作取得新进展。 6月初,山东省出台《退役军人就业创业导师管理办法(试行)》,由退役军人事务部门聘任具备就业创业指导专业知识或专项技能的人士,为退役…

    创业分享 2023-05-13
  • 衣之恋洗衣,干洗加盟的创业首选!

    您当前的位置 :首页 >> 财经综合 >> 正文 衣之恋洗衣,干洗加盟的创业首选! 来源:中国网 作者: 日期:2017-07-10 14:13:38  报料热线:86598222   相信很多投资者对于开干洗店市场投资都很有兴趣,大家都愿意将手中的积蓄拿出来投资加盟开干洗店,获得高额的干洗店利润,但是很多人存在这样的疑问,就是没有开…

    创业分享 2023-05-22
  • 娉ㄩ噸椤惧浣撻獙寤鸿 鍏ㄧ編杩涘彛鍖栧鍝佷綋楠屽簵缇庝附骞冲彴

    娉ㄩ噸椤惧浣撻獙寤鸿 鍏ㄧ編杩涘彛鍖栧鍝佷綋楠屽簵缇庝附骞冲彴 2019/05/10 11:19 鏉ユ簮锛氬巶鍟嗕緵绋 (责任编辑:admin) 西安手表进水维修联系电话及服务网点地址查询方式与送修流程详细信息公示表 迪拜NAND控制器解决方案提供商,通讯芯片哪家技术过硬,IC芯片哪家评价高-芯天下芯片 成都分页全自动工业喷墨设备生产厂家,UV 数码工…

    创业分享 2023-05-13
  • 创业就选强邦餐饮小吃技术培训中心,成就财富人生

      强邦餐饮小吃技术培训中心,大厨都是从这里出来的。健珀餐饮倡导“健康,安全,美味,时尚”餐饮文化理念,致力于弘扬特色餐饮文化,传授特色餐饮技术,让每位客户通过餐饮创业改变自己的生活,走向致富之路。,随时了解餐饮行业前沿信息,不断研发新型设备,技术和产品,以独特的技术优势和产品优势,竭诚为你提供极具投资价值的车店模式餐饮品牌服务以及特色餐饮技术培训。   强…

    2023-05-21

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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