使用Javascript或Java的跨域请求

时间:2018-06-29 13:06:37

标签: javascript java jquery cross-domain

我需要在iframe或类似的页面中加载页面,但是,此页面重定向到另一个域中的登录页面,那么我有跨域错误!

错误类似:

Failed to load https://otherdomain.com/159HBR321: Redirect from 
'https://otherdomain.com/159HBR321' to 
'https://thirddomain.com/home/login'
has been blocked by CORS policy: No 'Access-Control-Allow-Origin'
header is present on the requested resource. Origin 'null' is
therefore not allowed access.

我尝试过类似的事情:

$(function(){
  $("#divId").load("https://otherdomain.com/159HBR321"); 
});
...
<div id="divId" style="display:none;"></div>

并尝试使用iframe:

<iframe src="https://otherdomain.com/159HBR321"></iframe>

我有一个Java项目,因此可以使用Java或JS(JQuery等)解决此问题。

但是没有成功。只是观察,我无法在其他域的服务器上进行任何更改。

有关如何解决此问题的任何线索?预先感谢。

1 个答案:

答案 0 :(得分:1)

您的浏览器正在执行该规则,并且不应允许您违反该规则。 CORS背后的想法是防止恶意代码从合法应用中获取凭据,然后访问服务器。

服务器必须发送跨域标头。如果其他域没有这样做,那么您的浏览器将不允许您访问它。

有些浏览器插件添加了用于开发目的的标头,但是它们的功能受到限制,并且在打开时会降低浏览器的安全性。如果其他人正在使用您的应用程序,则肯定不会选择它们。

唯一好的解决方案是与其他域一起使用,使您的域白名单化。