我知道这是跨浏览器通信或同源策略的问题,浏览器不允许此类通信。
我需要解决这个用例。我在 HTTP 中有一个父页面,从那里我将表单提交到 HTTPS,我的要求是不要离开页面并且表单在覆盖中打开。
这是我当前的 JSP 设置
<form:form action="https://localhost:9002/myApp/springSecurity/login" class="login-form error-info" id="loginForm" method="post" commandName="loginForm" target="guestFrame">
<iframe width="0" frameborder="0" scrolling="no" name="guestFrame" >
从服务器我在响应中发送 java 脚本以附加到 Iframe 上,这是从服务器发送的 java 脚本
<html><body>"+ "<script type=\"text/javascript\">parent.handleResponse('error',securityLoginStatus.getLoginFailedException());</script>"+ "</body></html>")
我已经在父窗口中定义了一个方法,handle-response
但是我在浏览器中遇到了以下错误
Permission denied to access property 'handleResponse'
我什至尝试过parent.wwindow.handleResponse
但得到同样的错误。有什么办法可以从 iframe 与父窗口通信?