Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iframe中的Javascript捕获服务器响应_Javascript_Iframe - Fatal编程技术网

iframe中的Javascript捕获服务器响应

iframe中的Javascript捕获服务器响应,javascript,iframe,Javascript,Iframe,我已经编写了一个javascript将数据发布到服务器。这似乎可以正常工作,但在iframe中捕获服务器响应时遇到问题。我希望在iframe或数据流中捕获服务器响应,而不转发到其他页面或刷新,但我会解决问题,只是停止转发或刷新页面 我已尝试将target=“my_frame”添加到按钮和表单属性中,但似乎不起作用 我的代码,我稍微修改了我的演示代码: <html> <head> <title>post</title> <

我已经编写了一个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>

邮递
var myDictionary=[];
myDictionary[“username”]=“stackoverflow”;
myDictionary[“密码”]=“mypassword”;
函数post(字典、url、方法){
方法=方法| |“post”;
var form=document.createElement(“表单”);
form.setAttribute(“方法”,method);
form.setAttribute(“action”,url);
for(输入字典){
var hiddenField=document.createElement(“输入”);
setAttribute(“类型”、“隐藏”);
setAttribute(“名称”,键);
setAttribute(“值”,字典[key]);
表格.appendChild(hiddenField);
}
文件.正文.附件(表格);
表单提交();
}

感谢您的阅读和回复。

您需要的是一篇Ajax文章

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


例如,请参见将target=“”添加到表单中,将id=“”添加到iframe中,在提交表单后,您可以捕获iframe的»加载«事件。我将id=“my_Frame”添加到iframe和表单中。setAttribute('target','my_Frame')。现在,服务器响应将在新选项卡中打开。我还尝试将target=“my_Frame”添加到按钮中,但没有任何效果。如果我理解了你的问题,那么你是做错了。。。orm submit不会给您服务器响应,并会触发页面重定向。您希望Ajax在不重定向的情况下以javascript获取服务器响应。我真的建议您使用jquery,但您似乎没有使用jquery,因此我链接到的文章显示了jquery和非jquery两种方式。