Php 在AJAX调用后在完成的重定向页面上加载事件

Php 在AJAX调用后在完成的重定向页面上加载事件,php,javascript,jquery,Php,Javascript,Jquery,在ajax调用之后,如何在重定向页面完成加载后加载事件 为了简单起见,下面是一些示例代码: $.ajax({ type: "POST", url: "some_page.php", success: function() { window.location.href="new_page.php"; // redirect to this page $(window).load(function() { alert("test"); }); // load

在ajax调用之后,如何在重定向页面完成加载后加载事件

为了简单起见,下面是一些示例代码:

$.ajax({
   type: "POST",
   url: "some_page.php",
   success: function() {
      window.location.href="new_page.php"; // redirect to this page
      $(window).load(function() { alert("test"); }); // load after redirect
   }
});

“警报”框不会为我加载,但重定向会起作用。

这是因为只有在http请求成功返回后,成功才会起作用。浏览器然后重新加载新请求的页面,其中与原始http请求相关的任何操作都将丢失

您可能需要执行以下操作:

window.location.href = new_window.php?success=true

然后在新加载的页面上测试是否成功。

为什么要发布到某个页面,然后重定向到该页面?您的意思是让这成为一个“AJAX”请求,以不引起页面刷新吗?在这种情况下,您必须将生成的HTML粘贴到一个div中。这是一个非常基本的示例,说明了我真正想做的事情,因此为了避免每个人阅读大量不必要的代码,我放置了一个非常简单的8行代码来演示我试图完成的任务。作为记录,不,我没有试图阻止页面刷新。为什么不跳过AJAX部分,向服务器发送一篇正常的帖子,然后将您重定向到您想要的任何页面。因为我之前说过,这是我遇到的真正问题的一个非常基本的示例,让我为那些认为这是错误的做法的人作进一步的阐述。我将这个AJAX脚本放到一页中,涵盖9种不同的场景。我用下面的答案设置了一个查询字符串来覆盖每个场景。我想与你的评论相关的另一个解决方案是只制作9个不同的PHP页面来涵盖每个场景——但在发布问题时,我时间紧迫,不得不拿出一个为客户工作的脚本。啊,谢谢你的解释;我想可能就是这样。你救了我,使我免于拔头发!