在ajax请求中重定向到错误页面

时间:2013-08-26 14:31:12

标签: php jquery redirect

我正在使用jQuery的ajax函数来发出我的ajax请求。

我的问题是,如果我发现错误,我如何重定向到错误页面,说我有错误,记录它,现在想重定向到错误页面,是否可能在ajax请求或它只是重定向请求而不是执行请求的页面吗?

我是否必须通过将标头HTTP状态更改为500然后在ajax错误函数中直接更改为错误页面来声明请求中发生错误?

然而,在我的ajax请求中,如果我已经回显了数据然后想要更改标题信息,那么清理缓冲区是否允许我更改标题?

这是我如何清理缓冲区的吗?

if(ob_get_length()) ob_clean();

我通常如何重定向,包含错误页面:

header('HTTP/1.1 500 Internal Server Error', TRUE, 500);
readfile("500.html");

在我的ajax请求中,我只需更改上面的标题,然后使用jQuery处理其余内容吗?

2 个答案:

答案 0 :(得分:2)

由您决定如何处理它,您可以返回500,或者您可以随时返回200和状态消息。

您必须在javascript内部更改页面,以响应您的ajax调用,

您可以使用location property of window

执行此操作

window.location = '/yourlocation'

另一个similar question关于重定向以响应ajax调用

答案 1 :(得分:1)

您可以在ajax调用后使用javascript重定向错误:

error: function () {

    // similar behavior as an HTTP redirect
    window.location.replace("http://mysite.com/500.html");

  }