JavaScript文件:
$.ajax({
type: "POST",
url: "ajax.php",
data: dataString,
success: function(r)
{
$("#div").html(r);
}
});
我希望在成功条件下将页面重定向到new.php
,因此在我使用ajax.php
的{{1}}文件中,而不是重定向到页面header('Location:new.php');
,它正在加载内容new.php
中的new.php
。
为了将现有页面重定向到整个新页面,我需要进行哪些更改?
答案 0 :(得分:5)
$.ajax({
type: "POST",
url: "ajax.php",
data: dataString,
success: function(r)
{
window.location = 'new.php';//window.location.href = 'new.php';
//$("#div").html(r);
},
});
答案 1 :(得分: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.
},
});
答案 2 :(得分:1)
我不确定为什么你甚至想要使用jquery / ajax来实现这个功能,因为使用ajax的重点是能够重新加载页面的一部分而无需刷新整个页面或重定向到新页面。
为什么不将表单数据发布到同一页面并使用PHP执行所需操作然后使用PHP重定向到new.php或将表单发布到new.php并执行所需的内容以发布数据那页。
答案 3 :(得分:0)
window.location.href = "new.php";
在success()