1

したがって、jQuery で ajax リクエストを待機する 2 つの方法を知っています。

$.ajaxSetup({async: false});

このメソッドは ajax を同期させます。私はそれを望んでいません。

私が知っている2番目の方法は次のとおりです。

$.post("foo.html", function (foo) {
// Put all the rest of the code in here
});

私もそうしたくありません。

ajaxリクエストが完了するのを「リッスン」し、残りのコードを実行するハンドラーを含む3番目のオプションはありますか?

あるかもと思いました。

4

2 に答える 2

1

次のように jQuery で Deferred オブジェクトを使用できます。

$.post("foo.html").done(function() { 
  alert("$.post succeeded"); 
});

遅延オブジェクトの詳細については、jQuery のドキュメントを参照してください: 遅延オブジェクト

于 2012-09-26T23:02:42.320 に答える
0

jQuery $.ajax ドキュメントから:

$.ajax({
  type: "POST",
  url: "foo.html",
}).done(function( response ) {
  // triggers when the ajax request is complete
  // 'response' contains any returned values
});

必要に応じて、.success() および .error() コールバックもあります。

于 2012-09-26T23:14:12.227 に答える