我正在使用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处理其余内容吗?
答案 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");
}