2013-08-26 90 views
1

我正在使用jQuery的ajax函數來發出我的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

它取決於你要如何處理它,你可以返回500,或者你總是可以返回200和狀態消息。

你將不得不雖然從裏面的JavaScript更改頁面,以響應你的Ajax調用,

,你可以做到這一點使用location property of window

window.location = '/yourlocation'

另一similar question關於響應重定向到一個ajax致電

1

您可以使用JavaScript,Ajax調用後重定向,對錯誤:

error: function() { 

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

    }