2011-12-14 20 views
7

サーバーにリクエストを送信するためにラッパー関数が使用されています。サーバーが401のコードを返す場合は何か具体的な処理を行う必要があります。私のサーバー側のコードが401例外をスローした場合、このデータはJquery POSTでHTTPエラー応答コードを取得するにはどうすればいいですか

$.mobile.showPageLoadingMsg();  
$.post(apiUrl+method,p,function(d) { 

    $.mobile.hidePageLoadingMsg(); 
    console.log(d.success); 
    console.log(d.message); 

    if(d.success == true){ 
     window[callback](d.data); 
    } 
    else{ 
     if(d.message != null){ 
      alert(d.message); 
     } 
    } 
},'json') 
.error(function() { 
    //need to check for 401 status here to do something 
    $.mobile.hidePageLoadingMsg(); 
    alert("error"); 
}); 

jqueryの.ERROR機能は、ちょうどそのない200がOKため、これを拾うが、私はその401コードかどうかを確認する必要があります。

+0

=== not ==、賢明なように!==!= :) – Sam

答えて

11

errorコールバックでは、xhr.statusをチェックします。ここで、xhrは、関数の最初の引数です。

0

「約束」方式での更新:約束は削除されます)(

$.post("example.php", function() { 
    alert("success"); 
}).fail(function(xhr) { 
    console.log(xhr.status); 
}); 

注.ERROR: 我々は.fail()約束を呼び出し、このようなステータスコードを取得することができますjQueryの1.5のようにjQuery 3.0の時点で

関連する問題