2

JavaScript 文件:

$.ajax({
 type: "POST",
 url: "ajax.php",
 data: dataString,
 success: function(r) 
   {
     $("#div").html(r);
   }
});

我想new.php在成功条件下将页面重定向到,所以在ajax.php我使用的文件中,header('Location:new.php');而不是重定向到页面new.php,它正在加载new.php.div

为了将现有页面重定向到全新页面,我需要进行哪些更改?

4

4 回答 4

7
$.ajax({
 type: "POST",
 url: "ajax.php",
 data: dataString,
 success: function(r) 
  {
    window.location = 'new.php';//window.location.href = 'new.php';
    //$("#div").html(r);
  },
});
于 2013-03-12T07:41:11.413 回答
3

通过在您通过 AJAX 请求的文件中放置标头,您只需将 AJAX 请求重新路由到该 URL。您不会重定向用户的浏览器,因为 AJAX 请求是在后台发生的。

相反,您需要在 JavaScript 文件中包含重定向,特别是在成功子句中:

//From Pragnesh Chauhan's answer (modified): 
$.ajax({
 type: "POST",
 url: "ajax.php",
 data: dataString,
 success: function(r) 
  {
    window.location.href = 'new.php';
    //$("#div").html(r); Useless since you're redirecting.
  },
});
于 2013-03-12T07:42:49.680 回答
1

我不知道为什么你甚至想为这个功能使用 jquery / ajax,因为使用 ajax 的重点是能够重新加载页面的一部分,而不必刷新整个页面或重定向到新页面。

为什么不直接将表单数据发布到同一页面并使用 PHP 执行所需的操作,然后使用 PHP 重定向到 new.php 或将表单发​​布到 new.php 并使用该页面上发布的数据执行所需的操作。

于 2013-03-13T08:16:06.987 回答
0
window.location.href = "new.php";

试试这个success()

于 2013-03-12T07:41:29.560 回答