あなたのためのいくつかのオプション:
成功時または失敗時に同じ関数を呼び出します。関数は匿名でインラインで定義する必要はありません。名前を付けて個別に定義し、それに応じて参照できます。
あなたのスニペットでは、古いもの(最後にsuccess
余分なものがあります)と新しいものの両方を使用しています。つまり、成功のための 2 つの異なるコールバック (と)を定義しています。1つだけで十分です。s
error
done
success
done
success
and を使用し、 on ハンドラにerror
渡す例を次に示します。null
error
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false,
success: handler,
error: function() {
handler(null);
}
});
function handler() {
alert("Done");
}
またはとを使用done
してfail
:
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false
}).done(handler).fail(function() {
handler(null);
});
function handler() {
alert("Done");
}
代わりに (または組み合わせて)、complete
コールバック (オプションで指定したもの) とalways
コールバック ( done
andfail
スタイル) があり、成功または失敗に関係なく呼び出されます (成功または失敗のコールバックが行われた後):
complete
:
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false,
success: handler,
error: function() {
handler(null);
},
complete: function() {
alert("Always called (after success/error)");
}
});
function handler() {
alert("Done");
}
always
:
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false
}).done(handler).fail(function() {
handler(null);
}).always(function() {
alert("Always called (after done/fail)");
});
function handler() {
alert("Done");
}