2011-08-03 80 views
0

我使用jQuery.ajax JSON的請求的HTTP響應({ 網址:some.json, 類型: 「GET」, 數據類型: 'JSON', 緩存:假的, 成功:功能(數據){如何獲得jQuery中

} 
    ,error:function(jqXHR,text,error){ 
     alert(jqXHR.status); 
        alert(jqXHR.statusText); 
        alert(jqXHR.readyState); 
        alert(jqXHR.responseText); 

    } 
    ,beforeSend:function(){ } 
    ,complete:function(jqXHR, textStatus){ 

     alert(jqXHR.status); 
        alert(jqXHR.statusText); 
        alert(jqXHR.readyState); 
        alert(jqXHR.responseText); 

    } 



}); 

在上面Ajax調用,如果任何事情出錯了像服務器的問題或JSON網址錯了,我想顯示錯誤信息,對於我需要的HTTP響應碼500一樣,404 ..但我嘗試了所有的方法,你可以在上面的代碼中看到警告,每次我會得到200,如果它是成功的其他明智的是它給0而不是實際的http響應代碼(如果有任何問題,如服務器錯誤或js在網址錯誤,但我無法得到實際的http響應代碼)。我已經在這個洞日仍然我無法得到適當的解決方案。我正在使用ajax版本1.5.2。任何人都可以爲此提出明確的答案,因爲這對我來說非常重要。

回答

0

你可以做這樣的事情(從jQuery的文檔):

$.ajax({ 
    statusCode: { 
    404: function() { 
     alert('page not found'); 
    } 
    } 
}); 

如果請求成功,狀態代碼函數取相同的參數成功回調;如果它導致錯誤,它們將採用與錯誤回調相同的參數。