Java 如何从<;表格目标=”表格目标“;IFrame“&燃气轮机;

Java 如何从<;表格目标=”表格目标“;IFrame“&燃气轮机;,java,javascript,jquery,servlets,Java,Javascript,Jquery,Servlets,有一个简单的网页,它发送请求,由servlet类处理和操作,并返回响应text。当我想要ajax在客户端处理请求时,键入handleing,这就是为什么我将响应目标指定给一个不可信的iframe*但是我想在iframe得到响应后在页面上打印success* <html> <body> <form action="test" method="post" target="IFrame"> /*response target is iframe*/ &

有一个简单的网页,它发送请求,由servlet类处理和操作,并返回响应
text
。当我想要
ajax
在客户端处理请求时,键入handleing,这就是为什么我将响应目标指定给一个不可信的iframe*但是我想在iframe得到响应后在页面上打印
success
*

<html> <body>
<form action="test" method="post" target="IFrame"> /*response target is iframe*/
       <input type="text" name="logic" />
       <input type="submit" value="Submit" />
</form>

<iframe name="IFrame" style="width:0; height:0"> </iframe>

</body>  </html>

/*响应目标是iframe*/

我认为这可以使用
javascript
jquery
完成,如果您有任何想法,请指导我。

在iframe中加载的页面中,您需要调用父函数

<!-- This is the Parent.  Call it JSTest1.html -->
<html>
<head>
</head>
<body>
<script type="text/javascript">
    function parentAlert() {
        alert('hey there from the parent');
    }
</script>
I'm the parent
<iframe src="/JSTest2.html"></iframe>
</body>

<!-- this is the iframe html loaded.  Call it JSTest2.html-->
<html>
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
    $(document).ready( function() {
        window.parent.parentAlert();
    });
</script>
In the Iframe.
</body>

函数parentAlert(){
警报(“嗨,来自家长”);
}
我是父母
$(文档).ready(函数(){
window.parent.parentAlert();
});
在Iframe中。

要将消息从Iframe发送到父窗口页面:

<script type="text/javascript">
  $(document).ready( function() {
    //Message part is two parts Event name and Data you want to send
    // Example message = "my_action,my_data"
    message = "my_action,my_data" 
    parent.postMessage(message, "*");
  });
</script>

不适合我。当页面加载时,我使用
firebug
进行了检查,在iframe中没有看到任何
fn
。我只是用firebug测试了更新,它似乎可以工作。其思想是iframe不会告诉您何时加载。因此,在iframe加载的html中,您需要发出javascript来调用包含页面上的函数。
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

eventer(messageEvent,function(e) {
  // Youe message which you send is captured here in e.data will split it on ',' to get the event and the data  
  message = e.data.split(',')[0]
  value = e.data.split(',')[1]
  if ( message === "my_action" ) {
      myParentFunction(value)
  }     
},false);