特定の条件が満たされた場合に同じ関数をもう一度呼び出すポーリングAjax関数を作成します。どうすればいい?私はJQueryを使用しています。同じ関数内からどのようにajax関数を呼び出しますか?
1
A
答えて
2
なぜこのようなjQueryのajaxコールバック関数を使用しないのですか?
function myFunc(condition) {
$.ajax({
type:'GET',
url:ajaxUrl,
data:dataObject,
success:function(response) {
if (!condition) {
myFunc(newCondition);
}
}
});
}
myFunc();
これは、条件が真になるまで繰り返し同じ機能を呼び出すことになります。
jQueryのAJAXのリファレンスページ:あなたが行うことができhttp://api.jquery.com/jQuery.ajax/
0
あなたはajax呼び出しを行い、その間隔を設定するためのjavascript関数を書くことができます。 window.setIntervalを使用してください。
1
:
(function poll() {
$.ajax({
...
success:function(response) {
if (!condition_is_met) {
poll();
}
}
});
})(); //This calls the poll function inmediatly
あなたは一定時間後に正確に実行したい場合は、あなたができる:
setInterval(function poll() {
if(condition_is_met){
$.ajax({
...
success:function(response) {
//your code here
}
});
}
}, 5000); //Execute every 5 seconds
は、この情報がお役に立てば幸いです。乾杯
関連する問題
- 1. イベント内から同じオブジェクトの関数を呼び出す
- 2. Coffeescript:同じオブジェクト内の関数から配列関数を呼び出す
- 3. 複数のAJAXを同じ関数を呼び出して呼び出す
- 4. 関数内から関数を呼び出しますか?
- 5. 関数内の関数をどのように呼び出すのですか?
- 6. 同じJSファイル内のコントローラ内から関数を呼び出せません
- 7. 同じファイルからJavaScript関数を呼び出せません
- 8. グローバル変数を使用してJavascriptの同じ関数内から関数を呼び出す
- 9. Axios内部からの関数呼び出し? axios内から関数を呼び出す方法
- 10. React、別の関数内からクラス関数を呼び出す
- 11. ワークフロー内の関数から関数を呼び出す方法
- 12. cordovaのtimer関数内からjavascript関数を呼び出す
- 13. オブジェクト内の関数から関数を呼び出す(オブジェクトリテラル)
- 14. React:内部のレンダリング関数から関数を呼び出す
- 15. 他の関数内から関数を呼び出す方法
- 16. 関数内から2つの関数を呼び出す
- 17. クラス内の関数から関数を呼び出す
- 18. 同じパッケージ内の関数またはプロシージャを呼び出す
- 19. フラグメント内の関数を別の関数から呼び出すにはどうすればよいですか?
- 20. 関数呼び出しから関数呼び出し名を抽出する
- 21. 同じファイル内の別の関数で関数を呼び出す
- 22. 同じプロジェクト内のコンソールアプリケーションからMVCモデル関数を呼び出す
- 23. 呼び出された関数から(元の関数で)javascript関数を呼び出していますか?
- 24. 内部のネイティブ呼び出し関数.then非同期関数
- 25. Javascript:オブジェクト関数内のクリック関数からオブジェクト関数を呼び出す
- 26. React Js 2つのReact Reduxフィールドから同じ関数をどのように呼び出すのですか?
- 27. JavaメソッドをJavaScript関数内から呼び出しますか?
- 28. Laravel関数呼び出しと同じコントローラ内での返信
- 29. 同じモジュールから呼び出されたスタブモジュール関数
- 30. AJAX同じ関数からの複数の呼び出し、いくつかのコールバックが機能しない
また、コールバックで 'condition'がtrueの場合は、呼び出しを停止します。 –
さて、ajaxリクエストを再度実行する必要があるかどうかを判断するために、レスポンスに基づいてロジックを実行してください。しかし、たくさんのajaxリクエストのループを実行することは、あなたのサーバーにはうまくいかないかもしれないことに注意してください。 –