2

我编写了一个 javascript 来将数据发布到服务器。这似乎有效,但我无法在 iframe 中捕获服务器响应。我想在 iframe 或数据流中捕获服务器响应,而不转发到其他页面或刷新,但我会解决只是停止页面被转发或刷新。

我尝试添加target="my_frame"到按钮和表单属性,但它似乎不起作用。

我的代码,我稍微修改了我的演示代码:

 <html>
  <head>

    <title>post</title>

  </head>
  <body>

<script language="javascript">

   var myDictionary = [];
    myDictionary["username"] = "stackoverflow";
    myDictionary["password"] = "mypassword";


function post(dictionary, url, method) {
    method = method || "post"; 

    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", url);

    for (key in dictionary) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden"); 
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", dictionary[key]);
        form.appendChild(hiddenField); 
    }

    document.body.appendChild(form); 
    form.submit();
}
</script>

<input type="button" target="my_frame" value="Submit" onclick="javascript:post(myDictionary, 'http://www.website.com/register/registernow');" />

    <iframe name="my_frame" src="">

  </body>
</html>

感谢您的阅读和所有回复。

4

1 回答 1

1

您正在寻找的是 Ajax POST。

您不需要创建表单并提交它,而是需要 XMLHttpRequest,或者如果您使用 jquery,您可以使用 $.post 或 $.ajax。

参见例如http://blog.mgechev.com/2011/07/21/ajax-jquery-beginners/

于 2013-01-17T18:36:31.957 回答