2010-07-11 41 views
2

我有以下bog標準jQuery ajax請求。我一直試圖通過斷開我的計算機與網絡中間請求(服務器需要10秒鐘回覆,因此這很簡單)來引發錯誤狀態。當計算機斷開連接時,jQuery .ajax調用顯示成功。如何誘發ajax錯誤狀態?

當我斷開連接時alert('Success: '+ json);被調用,與null爲響應json。我期望錯誤部分被調用。

任何人都知道爲什麼斷開連接被視爲成功,以及如何導致失敗?

$.ajax({ 
url : 'post.php', 
data : { id : 123 }, 
type: 'POST', 
dataType : 'json', 
success : function(json) { 
    alert('Success: '+ json); 
}, 
error : function(XMLHttpRequest, textStatus, errorThrown) { 
    alert('Error: ' + errorThrown); 
}, 
complete : function(xhr, status) { 

} 
}); 

回答

1
$.ajax({ 
    url : 'post.php', 
    data : { id : 123 }, 
    type: 'POST', 
    dataType : 'json', 
    success : function(json) { 
     if(json!=null){ 
      alert('Success'); 
     }else{ 
      exceptionAjax(0,"no server data"); 
     } 
    }, 
    error : function(XMLHttpRequest, textStatus, errorThrown) { 
     exceptionAjax(XMLHttpRequest.statusText,XMLHttpRequest.responseText); 
    }, 
    complete : function(xhr, status) { 

    } 
    }); 

function exceptionAjax(responseStatus,responseText){ 
     alert('Error'); 
} 
相關問題