我需要在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等)解决此问题。
但是没有成功。只是观察,我无法在其他域的服务器上进行任何更改。
有关如何解决此问题的任何线索?预先感谢。
答案 0 :(得分:1)
您的浏览器正在执行该规则,并且不应允许您违反该规则。 CORS背后的想法是防止恶意代码从合法应用中获取凭据,然后访问服务器。
服务器必须发送跨域标头。如果其他域没有这样做,那么您的浏览器将不允许您访问它。
有些浏览器插件添加了用于开发目的的标头,但是它们的功能受到限制,并且在打开时会降低浏览器的安全性。如果其他人正在使用您的应用程序,则肯定不会选择它们。
唯一好的解决方案是与其他域一起使用,使您的域白名单化。