コースから外れているかもしれませんが、JQueryプレフィルター機能を使用して、Ajax Successの応答データを分析し、返されたJSONの特定の要素の存在に基づいてerror
、呼び出しでイベントハンドラーに条件付きで転送できるかどうか疑問に思いました。 ajax
(エラーメッセージ)。
これがページ内の任意のajax関数に対してグローバルに設定されていると便利です。
たぶん、これはこれを行うための最良の方法ではありません。誰かが別のアイデアを持っているなら、私に知らせてください!
プレフィルター:
//only run prefilter on ajax calls expecting JSON back in response, would this
//be the right way to do this?
$.ajaxPrefilter( "json", function( options, originalOptions, jqXHR ) {
jqXHR.success(function(data, textStatus, jXHR) {
if( hasErrors(data) ) {
//forward to error event handler?
}
});
});
Ajax呼び出し:
$.ajax({
type: "POST",
data: {
theData: "someData"
},
url: theUrl,
dataType: 'json',
cache: false,
success: function (data, textStatus, jqXHR) {
//do stuff on success
}
error: function ( jqXHR, textStatus, errorThrown ) {
//I want to do this stuff if data contains errors from server
}
});
どうもありがとう!