For$.ajax()
および family.success
は Deferred の の同義語に過ぎず、.done
同様.error
に も の同義語です.fail
。
実際、あなたが示している例はすでに遅延メソッドですが、名前が異なります。
.complete
はほとんどが新しい jQuery 1.6 の同義語であり、.always
を使用して同じ効果を得ることができます$.then(cb, cb)
。これによりcb
、AJAX 呼び出しが成功するかどうかにかかわらず、 が呼び出されます。とバリアントの間.complete
で、「失敗」コールバックに渡されるパラメータに小さな違いがあると思います。.always
$.then
個人的には、これらの名前付き関数の Deferred バージョンを使用することを好みます。これは、遅延オブジェクトが jqXHR であるかどうかを気にする必要がないためです。、、およびのみjqXHRs
がありますが、すべてのDeferred (jqXHR を含む) には、およびがあります。.success
.error
.complete
.done
.fail
.always
編集jQuery開発者は私に同意しているようです-彼らはそれを発表し.success
、jQuery 1.8で廃止される予定.error
です.complete