7

サーバーにリクエストを送信するために使用されるラッパー関数があります。サーバーがコード 401 を返し、このデータを取得する方法がわからない場合は、特定のことを行う必要があります。

 $.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");
});

サーバー側のコードが 401 例外をスローすると、jquery .error 関数がこれを検出します。これは、200 OK ではなく、401 コードかどうかを確認する必要があるためです。

4

2 に答える 2

11

errorコールバックで、関数の最初の引数がxhr.statusどこにあるかを確認します。xhr

于 2011-12-14T23:41:15.367 に答える
0

「promise」メソッドの更新: jQuery 1.5 以降、.fail() promise を呼び出して、次のようなステータス コードを取得できます。

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

.error() promise は jQuery 3.0 の時点で削除されていることに注意してください

于 2016-10-30T12:56:21.473 に答える