Servlet:有没有办法知道客户端的响应警报

时间:2011-10-05 08:15:24

标签: javascript servlets iframe

请清除我的疑问,在这里我将form数据发送到服务器并在成功时获得response

<form action="/test" method="post" target="iframe"> .....  </form>

正如您所看到的,我已将target提供给iframe&amp;这定义在同一页面的某处。
如果服务器将响应发送回客户端,则只有iframe 刷新或重新加载 而不是整个页面。正确?

我的问题是:当iframe重新加载?

选项1:提交时(点击submit按钮后)或

选项2:它等待响应成功收到。

我想page/iframe reload,点击提交按钮后。然后 我只有在得到回复后才能重新使用iframe。

这是我的js函数,可以提醒响应文本。

    $(function() {
      $('#iframe-id').load(function() {
            alert( $(this).find('body').html() ); 
  /* but it returns null while it loads the response text, as i can see  
      the response text in firebug console */
          });
    );

1 个答案:

答案 0 :(得分:1)

一旦提交表单,Iframe就会开始加载服务器响应。完成加载后,iframe的 onload 事件被触发。

JS添加到问题后

更新

关键字引用主页上的IFRAME元素, NOT 指向IFRAME的文档/ DOM。要访问iframe的内容,请使用以下

$(function() {
  $('#ifr').load(function() {            
        alert( $(this.contentWindow.document).find('body').html() );  
      });
});

更新2 这对我有用

<!DOCTYPE html>
<html>
 <head>
 <script src="jquery.js"    type="text/javascript"></script>  
  <script>
    $(function() {
        $('#ifr').load(function() {      
            alert( $(this.contentWindow.document).find('body').html() );  
        });
    });
  </script>
 </head>
<body>
  <form action="nextfile.html" method="post" target="iframe">
    <input type='text' name='name' value='namevalue'>
    <button type='submit'>submit</button>
  </form>

  <iframe id='ifr' name='iframe' src='nothing.html'></iframe>
</body>
</html>