0

これが私のajaxリクエストを送信する方法です:

$.ajax({
            url: "myurl",       
            type: 'POST',
            dataType : "text",
            data : ({
                json : myjson
            }),
            success : function(data) {

                if(data == 'success'){
                    //alert('success');
                }
                else {
                    alert('fail');
                }

                };
            }

        });   

java im内では、例外がスローされるかどうかに応じて、「success」または「fail」のいずれかを含む文字列を返すだけです。

擬似コード:

try {
return "success";
}
catch (Exception e){
return "fail";
}

ajaxエラーコールバックを使用する代わりにこれで十分ですか?十分でない場合、このコールバックをどのように使用する必要があり、どのような追加の障害条件をチェックしていますか?

   error : function() {
                alert ('error');
    } 
4

1 に答える 1

3

コールバックの目的errorは異なります。リクエストの送信中またはレスポンスの受信中にエラーが発生した場合、jQueryはその関数を呼び出します。たとえば、サーバーが応答を返さず、代わりに「500 Internal Server Error」(またはその他のエラー)を返した場合、successコールバック関数はまったく呼び出されません。コールバックを定義するerrorと、それが呼び出されます-そして、エラーが何であったかを理解するチャンスがあります。

サーバーが完全に機能しているからといって、通信エラーが発生しないわけではありません。たとえば、「ゲートウェイタイムアウト」、「ホストへのルートがありません」などです。

最後に、宣言したがdataType: json(例では当てはまらないことはわかっています)、返されたデータを解析できない場合(つまり、適切にフォーマットされたJSON文字列ではない場合)、error関数は呼び出され、関数は呼び出されませんsuccess

于 2012-06-18T16:23:18.883 に答える