Jquery 在浏览器中发布后重定向将终止发布请求!为什么?

Jquery 在浏览器中发布后重定向将终止发布请求!为什么?,jquery,http,redirect,post,Jquery,Http,Redirect,Post,这把我带到了疯狂的边缘。 我有一个动态的形式, 它本质上是通过jquery创建的 然后通过post提交: //post_form document.body.appendChild(form); form.submit(); 但我是这样称呼这个脚本的: post_form(url,params); window.location = "/myurl"; 将window.location放在post_form()调用之后并没有发送post请求,在调试过程中,我可以看到代码正在执行。。。 有人愿

这把我带到了疯狂的边缘。 我有一个动态的形式, 它本质上是通过jquery创建的 然后通过post提交:

//post_form
document.body.appendChild(form);
form.submit();
但我是这样称呼这个脚本的:

post_form(url,params);
window.location = "/myurl";
将window.location放在post_form()调用之后并没有发送post请求,在调试过程中,我可以看到代码正在执行。。。
有人愿意告诉我发生什么事的原因吗?谢谢

代码正在执行,表单被附加到文档体,其提交开始,但当您重定向到页面以外的地方时,页面将与表单一起处理,从而中止正在进行的提交。您已经用
jQuery
标记了您的问题,但是您的示例代码中没有使用任何实际的jQuery-您应该使用或提交表单,并且只有在jQuery调用成功回调后才重定向该表单。

代码正在执行,表单被附加到文档体,表单提交开始,但是,在您重定向到页面之外的那一刻,该页面将与您的表单一起处理,从而中止正在进行的提交。您已经用
jQuery
标记了您的问题,但您的示例代码中没有使用任何实际的jQuery-您应该使用或提交表单,并且只有在jQuery调用成功回调后才重定向。这与提交表单相同,然后非常快地单击另一个链接。浏览器只能执行一个“主”请求。它要么发送POST请求并用它在响应中收到的任何内容刷新视图,要么发送GET请求并用它在响应中收到的任何内容刷新视图。脚本以非常快的顺序执行这两个命令,因此第一个POST请求被取消。这两个动作都是“转到另一页”动作,它们不能同时发生


完成后,可以执行AJAX POST请求并通过Javascript重定向,也可以通过HTTP头重定向以响应POST请求。

这与提交表单相同,然后快速单击其他链接。浏览器只能执行一个“主”请求。它要么发送POST请求并用它在响应中收到的任何内容刷新视图,要么发送GET请求并用它在响应中收到的任何内容刷新视图。脚本以非常快的顺序执行这两个命令,因此第一个POST请求被取消。这两个动作都是“转到另一页”动作,它们不能同时发生


要么执行AJAX POST请求并在完成后通过Javascript重定向,要么响应POST请求通过HTTP头重定向。

没错,我使用jquery只是动态构建表单,但我提交的代码中没有实际的jquery。感谢您的解释您是对的,我使用jquery只是为了动态构建表单,但在我提交的代码中没有实际的jquery。谢谢你的解释