PHP header():302 Moved Temporarily错误

时间:2013-12-02 10:44:33

标签: php jquery ajax modal-dialog

在我的webapp中,我打开了一个模态,在那个模态中,我正在使用ajax在另一个页面(ajax.php)中处理一些数据,在ajax.php中完成处理后我做了:

header("location: blah.php");

但是因为我在另一个页面并且整个过程正在进行ajax请求页面没有做任何事情,当我通过FireBug检查ajax请求时,我看到请求变为红色,出现此错误:

302 Moved Temporarily error

如何在此方案中重定向?

提前致谢

1 个答案:

答案 0 :(得分:1)

响应已重定向 AJAX请求。它不会更改用户当前在浏览器中看到的页面。就是这样,你不能在PHP中改变它。 AJAX请求完全在后台执行,这就是AJAX的要点。无论服务器返回什么响应,都不会直接影响用户当前可见的网站上的任何内容。您必须完全使用Javascript处理响应。

如果您想根据失败的AJAX响应将用户重定向到另一个页面,则必须在Javascript中执行此操作:

$.ajax(..., function (data) {
    if (/* something or other */) {
        window.location = /* other page */;
    }
});