难缠的跨域问题,终于弄清楚了(下)

简介: 哈喽,大家好,我是指北君。这次指北君给大家分享如何解决跨域问题。如何解决跨域问题?首先我们需要知道什么是跨域,跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。

②、JSONP 方式   首先我们要修改 index.jsp 页面的 ajax 请求:


69.png注意:我们修改了 dataType 的数据类型为 jsonp,并且新增了 jsop 属性值为 “backFunction”。

接着在 JavaWeb01 项目的 Servlet 中进行如下修改:


70.png71.png

然后动态的去加载该 script 标签的 src 属性。

③、HttpClient 请求转发 这种方式客户端是向 JavaWeb02 项目发送请求,而不是上面的向 JavaWeb01 发送请求,然后在 JavaWeb02 的后台通过 HttpClient 将请求发送到 JavaWeb01,得到数据后返回。这种方式相当于绕过浏览器的同源机制,直接通过后端进行转发。

index.jsp 的ajax请求如下:

72.png

注意我们是在 JavaWeb02 项目下的index.jsp 发送请求,请求路径也是 JavaWeb02 下的 Servlet。

73.png

74.png

④、nginx 转发 原理很简单:

75.jpg



利用nginx反向代理,将请求分发到部署到相应项目的tomcat服务器,当然也不存在跨域问题。

相关文章
|
20天前
|
JSON 前端开发 安全
写了几年代码,你将跨域问题弄明白了吗?
互联网发展至今,前端开发者经常面临跨域问题,这是因为浏览器的同源策略限制了不同源的网页之间的数据交互。当尝试从`http://127.0.0.1:14949`访问`http://localhost:3000`的资源时,浏览器会阻止这种请求,因为它缺少“Access-Control-Allow-Origin”响应头,这是CORS(跨域资源共享)机制的要求。
|
2月前
|
JSON 前端开发 JavaScript
详细剖析让前端头疼的跨域问题是怎么产生的,又该如何解决
详细剖析让前端头疼的跨域问题是怎么产生的,又该如何解决
|
2月前
|
JavaScript 安全 前端开发
js开发:请解释什么是跨域请求(CORS),以及如何解决跨域问题。
CORS是一种W3C标准,用于解决浏览器同源策略导致的跨域数据访问限制。它通过服务器在HTTP响应头添加标志允许特定源进行跨域请求。简单请求无需预检,而预检请求(OPTIONS)用于询问服务器是否接受非简单请求。服务器端配置响应头如`Access-Control-Allow-Origin`等实现CORS策略,客户端JavaScript则正常发起请求。若配置不当,浏览器将阻止跨域访问,保障安全。
38 2
|
2月前
|
存储 安全 API
同源策略:概念、作用、跨域问题及解决办法
同源策略(Same Origin Policy,SOP)是一种重要的网络安全机制**,是由Netscape公司在1995年引入浏览器的一种安全功能,它要求网页在执行某些操作时,如使用XMLHttpRequest或Fetch API进行网络请求,或者尝试访问cookies、LocalStorage、IndexedDB等资源时,必须遵循“同源”原则。
|
2月前
|
前端开发 JavaScript 应用服务中间件
前端程序员必须要知道的跨域问题以及解决方法
前端程序员必须要知道的跨域问题以及解决方法
|
缓存 安全 前端开发
【从原理到实战】彻底搞懂跨域问题 (一)(2)
3、预检请求的优化 复杂请求会发预检请求, 相当于每个接口会发两次请求, 比较消耗资源, 那么是可以对预检请求进行优化, 可以采用以下两种方式 设置预检请求的缓存时长
83 0
|
2月前
|
前端开发 安全 JavaScript
前端知识笔记(二)———跨域到底是什么意思?
前端知识笔记(二)———跨域到底是什么意思?
51 0
|
XML JSON 安全
【从原理到实战】彻底搞懂跨域问题 (一)(1)
前言 什么是跨域: 浏览器为了安全性,设置同源策略导致的, 或者说是一种浏览器的限制 同源策略: 是一种约定,WEB 应用只能请求同一个源的资源 什么时候会跨域: 协议名、域名、端口号 不同 本文将从原理, 到最简代码实现, 演示解决跨域的方法和流程,纸上得来终觉浅 绝知此事要躬行, 只有自己手敲实现过, 才能对其原理理解更加深刻。
296 0
|
网络协议 Java 数据库连接
java后端跨域 配置 代码
java后端跨域 配置 代码
107 0
|
存储 前端开发 安全
Web开发中的跨域问题及其解决方法
跨域是指浏览器限制了来自不同源的客户端脚本在同一页面中执行的能力。本文将讨论什么是跨域,为什么需要跨域,以及解决跨域问题的常用方法。
288 0