success
- done
、error
🎜>。 fail
complete
always
延期:fail
同じタイプの任意の数のコールバックを指定できます。たとえば、done
、Ajax要求が返されて完了すると、これらすべてが起動されます。 always
.always(), .always(), .always()
.then()
.done()
.fail()
.done()と.fail()を.then().then()
に組み合わせます
// 旧的 complete 函数 complete Function(jqXHR jqXHR, String textStatus) // 新的 done 函数 jqXHR.done(function(data, textStatus, jqXHR) {});
関数に結合できます。上記のコードは、次のように書き換えることができます 出典:jqueryでの延期と約束、ajaxリクエスト
からチェーンコールを開始します
done()
jQuery 1.8から始めて、チェーンの順序でfail()
関数を呼び出すことができます。次のコードでは、最初の実行then()
、パージングに成功した後、
var promise = $.ajax({ url: "/myServerScript" }); promise.then(mySuccessFunction, myErrorFunction);
各コールバック関数は、以前の非同期関数の結果を受け取ります。
then()
を使用して、約束のコールバック関数、つまりpromise1
を割り当てることができます。 getStuff
var promise1 = $.ajax("/myServerScript1"); function getStuff() { return $.ajax("/myServerScript2"); } promise1.then(getStuff).then(function(myServerScript2Data) { // 两个 Promise 都已解析 });
dfd.resolve
のコールバックパラメーターに渡されます。つまり、アニメーションが完了すると、延期されます。 fadeOut()
(次の質問への回答は元のテキストと同じですが、文言は元のテキストを維持するためにわずかに調整されています。)
jQuery 1.9 Ajax Promiseインターフェイスでのエラー処理を改善する方法は?
jQuery 1.9 Ajax Promiseインターフェイスを他のバージョンのjQueryと使用できますか?
jQuery 1.9 Ajax Promiseインターフェイスは、Ajax要求を処理する他のメソッドとどのように比較されますか?
jQueryの約束と延期されたオブジェクトの違いは何ですか?
従来のAJAXコールを約束ベースのAjaxコールに変換するには、Promiseオブジェクトを返す関数にAjaxコールを包むことが含まれます。 Promiseオブジェクトは、AJAXコールの成功または失敗に基づいて解析または拒否されます。
はい、jQuery 1.9 Ajax Promiseインターフェイスを他のJavaScriptライブラリと使用できます。ただし、特に他のライブラリも約束または同様の構成要素を使用している場合、潜在的な互換性の問題に注意する必要があります。
$ .when()関数を使用して、jQuery 1.9 Ajax Promiseインターフェイスを使用して複数のAJAX要求を処理できます。この関数は、複数の約束オブジェクトをパラメーターとして使用し、すべての入力約束オブジェクトが解析されたときに解決する新しいPromiseオブジェクトを返します。
jQuery 1.9 Ajax Promiseインターフェイスを使用したときにAjax要求が失敗した場合、リクエストに関連付けられたPromiseオブジェクトは拒否されます。これを処理することができます.fail()
ハンドラーをPromiseオブジェクトに取り付けます。これは、Promiseが拒否された場合に呼び出されます。
はい、非アジャックス非同期操作にjQuery 1.9 Ajax Promiseインターフェイスを使用できます。 Promiseインターフェイスは、非同期操作を管理するための一般的な構成要素であるため、ファイルの読み取りやデータベースのクエリなど、すぐに実行できない任意の操作で使用できます。
以上がjQuery 1.9 .ajax()New Promise Interfaceの利点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。