1

我正在使用 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 处理其余部分?

4

2 回答 2

2

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

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

您可以使用window 的 location 属性来执行此操作

window.location = '/yourlocation'

关于重定向以响应 ajax 调用的另一个类似问题

于 2013-08-26T14:41:39.047 回答
1

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

error: function () {

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

  }
于 2013-08-26T14:40:57.660 回答