0
私はフォームを持っています。ボタンを押すと、非同期Ajaxリクエストを処理する必要があります。 requestForTariff()
のすべてのプロセスが終了したら、関数nextButtonHandler()
を呼び出す必要があります。私は以下を使用しようとしましたが、要求処理が終わるまで待っていませんでした。ここでjQueryが完了するまでAjaxリクエストを待つことができません
$.when(requestForTariff(requestType.Street)).done(function(){
nextButtonHandler()
});
は私のAjaxの機能は次のとおりです。Adreasコメントへ
function requestForTariff(requestParam) {
$.ajax({
type: 'POST',
url: //...,
data: getRequestJSON(requestParam),
success: function(data, status) {
if (status == "success") {
if (requestParam == requestType.Street) {
handleResult(data);
}
//...
}
},
contentType: "application/json",
dataType: 'json',
error: // ...
});
'requestForTariff()'はプロミス(遅延)を返しません – Andreas
また、1つの引数だけを渡す場合は '$ .when'は必要ありません。あなたがそれを使用しなかった場合、エラーはより明らかになりました。 –