私は以下を持っています:
$.ajax(link.href,
{
cache: false,
dataType: 'html'
})
.done(onDialogDone)
.fail(onDialogFail);
これは正常に機能し、onDialogDoneが呼び出されます。ただし、onDialogDoneにどの引数が渡されると思いますか、onDialogFailにはどの引数が必要ですか。
私が尋ねている理由は、TypeScriptを使用していて、onDialogDoneとonDialogFailを定義するときに正しい引数を提供したいからです。
.done()
および.fail()
の引数は、対応する_success:
_および_error:
_パラメーターの引数と同じです $.ajax()
関数、つまり:
_.done( function(data, textStatus, jqXHR) { ... } );
_
そして
_.fail( function(jqXHR, textStatus, errorThrown) { ... } );
_
TypeScriptでは、textStatus
とerrorThrown
は文字列、jqXHR
はObject
、data
はリモートサーバーによって異なりますあなたを送ります。
done
ハンドラーに渡される3つのパラメーターは次のとおりです。
data, textStatus, jqXHR
詳しくはこちらをご覧ください http://api.jquery.com/jQuery.ajax/
data
は応答メッセージですtextStatus
は常にdone
関数で成功しますjqXHR
は未加工のXMLHttpRequestですチェック this out:
メソッド(jqXHRおよびDeferred実装の一部。ここではわかりやすくするためにのみ示しています)
.ajax().always(function(a, textStatus, b){});
JQuery 1.8で廃止された.complete()メソッドを置き換えます。成功したトランザクションに応じて、引数は.done()と同じです(つまり、a =データ、b = jqXHR)。失敗したトランザクションの場合、引数は.fail()と同じです(つまり、a = jqXHR、b = errorThrown)。これは、上記の完全なコールバック関数の代替構成です。実装の詳細については、deferred.always()を参照してください。
.ajax().done(function(data, textStatus, jqXHR){});
JQuery 1.8で廃止された.success()メソッドを置き換えます。これは、上記の成功コールバック関数の代替構成です。実装の詳細については、deferred.done()を参照してください。
.ajax().fail(function(jqXHR, textStatus, errorThrown){});
JQuery 1.8で廃止された.error()メソッドを置き換えます。これは、上記の完全なコールバック関数の代替構成です。実装の詳細については、deferred.fail()を参照してください。
.ajax().then(function(data, textStatus, jqXHR){}, function(jqXHR, textStatus, errorThrown){});
.done()および.fail()メソッドの機能が組み込まれています。実装の詳細については、deferred.then()を参照してください。
.ajax().pipe(function(data, textStatus, jqXHR){}, function(jqXHR, textStatus, errorThrown){});
.done()および.fail()メソッドの機能を組み込んで、基になるPromiseを操作できるようにします。実装の詳細については、deferred.pipe()を参照してください。