【问题标题】:Redirecting to error page within ajax request重定向到ajax请求中的错误页面
【发布时间】:2013-08-29 02:06:16
【问题描述】:

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

【问题讨论】:

    标签: php jquery redirect


    【解决方案1】:

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

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

    你可以使用location property of window来做到这一点

    window.location = '/yourlocation'

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多