我需要在 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等)解决这个问题。

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

有什么线索可以解决这个问题吗?提前致谢。

请您参考如下方法:

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

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

有些浏览器插件可以出于开发目的添加 header ,但它们的功能有限,并且在打开时会降低浏览器的安全性。如果其他人正在使用您的应用程序,那么它们当然不是一个选择。

唯一好的解决方案是与其他域合作,将您的域列入白名单。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!