将Post响应存储在Javascript中的变量中

将Post响应存储在Javascript中的变量中,javascript,Javascript,我想发布一个表单,并使用javascript将响应html代码保存在变量中。 这是我的代码: <script type="text/javascript"> function submitform() { document.forms["myform"].submit(); } </script> <form id="myform" action="url" method="post" target="iframe"> <input type="h

我想发布一个表单,并使用javascript将响应html代码保存在变量中。
这是我的代码:

<script type="text/javascript">
function submitform()
{
  document.forms["myform"].submit();
}
</script>

<form id="myform" action="url" method="post" target="iframe">
<input type="hidden" name="arg" value="value">
<a href="javascript: submitform()">Go</a>
</form>
<iframe name="iframe"></iframe>
但这种方式很烦人,因为它在重定向时会显示一个对话框,我不能要求用户每次都点击它
所以我选择了一种方法,不在浏览器中加载导致重定向的响应html代码!而不是将响应保存在变量中,删除脚本,然后打印


有什么方法可以做到这一点吗?

您可以使用javascript发出post请求,而不是使用表单。在这种情况下,只要您发布到同一域,您就可以轻松捕获响应。(出于安全原因,跨域帖子不提供返回值)。请参阅如何使用javascript发布。

您正在拐弯抹角地编写代码。使用jQuery及其.ajax方法。将返回的标记放到div中而不是iframe中。

您应该看到,它非常灵活且易于使用。或者,更简单的方法是尝试,它基本上自动化了所有与表单相关的内容。您所要做的就是指出表单,并告诉您在提交表单之前和/或之后要做什么。

这就是目的所在。看看。如果我使用这种方法,用户将被重定向到任何发布url的地方,我不希望这样!我只想使用response,防止用户看到您基本上是在尝试破解某些东西,或者实现一个错误的问题解决方案。如果你想发布到一个你无法控制的Web服务器上,如果不进行一些黑客攻击,它将无法工作。如果你控制服务器,谷歌
JSONP
originaccessheaders
。我测试了它,但它不工作!!ajax不适用于域外的域!它只适用于主域地址。@Hossein这是正确的,必须是这样。跨域通信是另一回事。正确地使用
$.post
$.ajax
调用同一个域,并且在您了解到这一点后,开始寻找标记为cross domain或cross originI的解决方案,但它不起作用!!ajax不适用于域外的域!它只适用于主域地址。冷静点,我们听到了。AJAX不能跨域工作,这是显而易见的。如果您想这样使用它,请阅读JSONP。大卫·沃尔什(David Walsh)在他的博客上写得很好。
window.onbeforeunload = function(){
            return false;
        };