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

简介: 哈喽,大家好,我是指北君。这次指北君给大家分享如何解决跨域问题。如何解决跨域问题?首先我们需要知道什么是跨域,跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对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服务器,当然也不存在跨域问题。

相关文章
|
6天前
|
安全 JavaScript 前端开发
跨域问题如何解决
跨域问题是指浏览器同源策略限制了不同域名之间的资源访问。解决方法包括:1. CORS(跨域资源共享):服务器设置Access-Control-Allow-Origin响应头;2. JSONP:利用script标签不受同源策略限制的特点;3. 代理服务器:通过后端代理转发请求。
|
3月前
|
前端开发 JavaScript 应用服务中间件
说一说跨域和如何解决
说一说跨域和如何解决
|
3月前
|
前端开发 应用服务中间件 API
"揭秘!面试官必问:你是如何巧妙绕过跨域难题的?前端代理VS服务器端CORS,哪个才是你的秘密武器?"
【8月更文挑战第21天】在软件开发中,尤其前后端分离架构下,跨域资源共享(CORS)是常见的挑战。主要解决方案有两种:一是服务器端配置CORS策略,通过设置响应头控制跨域访问权限,无需改动前端代码,增强安全性;二是前端代理转发,如使用Nginx或Webpack DevServer在开发环境中转发请求绕过同源策略,简化开发流程但不适用于生产环境。生产环境下应采用服务器端CORS策略以确保安全稳定。
44 0
|
5月前
|
JSON 前端开发 安全
写了几年代码,你将跨域问题弄明白了吗?
互联网发展至今,前端开发者经常面临跨域问题,这是因为浏览器的同源策略限制了不同源的网页之间的数据交互。当尝试从`http://127.0.0.1:14949`访问`http://localhost:3000`的资源时,浏览器会阻止这种请求,因为它缺少“Access-Control-Allow-Origin”响应头,这是CORS(跨域资源共享)机制的要求。
|
6月前
|
JSON 前端开发 JavaScript
详细剖析让前端头疼的跨域问题是怎么产生的,又该如何解决
详细剖析让前端头疼的跨域问题是怎么产生的,又该如何解决
|
6月前
|
存储 安全 API
同源策略:概念、作用、跨域问题及解决办法
同源策略(Same Origin Policy,SOP)是一种重要的网络安全机制**,是由Netscape公司在1995年引入浏览器的一种安全功能,它要求网页在执行某些操作时,如使用XMLHttpRequest或Fetch API进行网络请求,或者尝试访问cookies、LocalStorage、IndexedDB等资源时,必须遵循“同源”原则。
|
6月前
|
前端开发 JavaScript 应用服务中间件
前端程序员必须要知道的跨域问题以及解决方法
前端程序员必须要知道的跨域问题以及解决方法
|
JavaScript 前端开发 中间件
前端解决跨域问题(9个方法)
前端解决跨域问题(9个方法)
1669 0
|
网络协议 Java 数据库连接
java后端跨域 配置 代码
java后端跨域 配置 代码
119 0
|
存储 前端开发 安全
Web开发中的跨域问题及其解决方法
跨域是指浏览器限制了来自不同源的客户端脚本在同一页面中执行的能力。本文将讨论什么是跨域,为什么需要跨域,以及解决跨域问题的常用方法。
319 0