2011-10-26 9 views
1

これが可能かどうかわかりません。現在のAjaxコールを一時停止し、実行後に新しいAjaxコールを実行します。

ボタンクリックイベント中に2回のajax呼び出しが実行されました。 最初のajax呼び出しは、jquery ajax postを使用してデータベースにデータを追加することです。 もう1つは、jquery ajax投稿を介してデータベースに別のデータセットを追加することです

最初のものが最初に実行され、次に2番目のものが実行されます。私は最初のajax呼び出しを一時停止できるかどうかをテストするために、両方の実行の時間間隔を作成するために(windowstimeout)という2番目の呼び出しにタイマーを設定しました。

なぜ私は両方の呼び出しを組み合わせたくないのか、私に尋ねるでしょう。私はその理由を持っています。私は、Ajaxコールを一時停止することが本当に可能であることを知りたいと思います。私はネット上で検索しているが、見つかったのはすべてajaxstop(jQuery)だが、実際にはそれを一時停止しないで、ajax呼び出しを停止する。

だれでも、そうする考えはありますか?ありがとう。

+1

最初のリクエストの成功コールバックに2番目の非同期ポストバックを配置しないのはなぜですか? – lsuarez

+0

文字通り、いいえ。これはリクエスト/レスポンス動作の問題であり、実際はjavascriptではありません。 – Marc

+0

コールがサーバ側に出ると、クライアントの手の届かないところにあります。途中で中断するようサーバーに指示することはできません。第2の完了まで第1の結果を保持したり、第1の呼び出しを第2の呼び出しにネストしたりすることはできません。この一時停止で何をしようとしているのかを広げることができますか? – JoshHetland

答えて

2

なぜ一時停止しますか?あなたはできませんが、なぜあなたはしたいですか?両方を実行させるか、または2番目の呼び出しが完了するまで最初の呼び出しをトリガーしません。

+0

技術はそれを行うことができます。私はそうではないと思います。 – sm21guy

1

いいえ、Ajax呼び出しを一時停止することはできません。通常のHTTP要求/応答サイクルのインスタンスであり、そのまま動作します。 2番目の呼び出しの結果のサーバー側の操作が最初の呼び出しの結果に依存する場合、最初の成功のコールバックハンドラーで2番目の呼び出しを連鎖させて起動させるのはなぜですか?

1

これはできません。

データ交換プロトコルの設計が正しいかどうかは、本当に自分自身に尋ねてください。

リクエストを一時停止する(通信プロトコルが何であれ、AJAXなど)は、他のリクエストがあるかどうかわからないので動作しません。

質問:自分の正確なニーズは何ですか?それを行うための他の方法は何ですか?

関連する問題