入力ごとのajax呼び出しを制限する

Whisou138

入力が変更されるたびにエンドポイントに値を送信する、動作中のajax呼び出しがあります。したがって、ユーザーが入力している場合は、キーストロークごとに呼び出しを送信します。

setTimeoutを2秒間配置しました。これにより、呼び出しが問題なく遅延します。しかし、問題は、それでもすべてのキーストロークに対して呼び出しを送信することです。

2秒後に、これまでに入力されたものの呼び出しを送信する場所に到達したいと思います。ユーザーがもう一度入力を開始すると、おそらく再び設定されます。

私は、送信するキーストロークを減らして、ユーザーが入力を停止したときにわずかな遅延と呼び出しが発生する場所に到達しようとしています。

これが今の呼び出しです:

$('#input').on('input', function() {
  let _this = $(this);


  if (_this.val() === '') {
    return;
  } else {

    const searchResult = $(this).val();
    console.log(searchResult);
    //if I type "PLANT" the console shows "P" "PL" "PLA" "PLAN" "PLANT"

    //after 2 seconds, send searchResult via ajax
    setTimeout(function () {
        $.ajax({ url: '/endpoint', 
          data: {
            search_result:searchResult
          },
          "_token": "{{ csrf_token() }}",
          type: "POST", 
          success: successHandler 

        });
    }, 2000);
  }
});
コーディS

ajax呼び出しをデバウンスする必要があります。ユーザーが別の値を入力すると、タイムアウトがクリアされるという考え方です。そうすれば、ajax呼び出しは、ユーザーが指定されたタイムアウト期間(この場合は2秒)の間入力を停止した後に1回だけ行われます。これは次のようになります。

var timeout;

$('#input').on('input', function() {
  let _this = $(this);


  if (_this.val() === '') {
    return;
  } else {

    const searchResult = $(this).val();
    console.log(searchResult);
    //if I type "PLANT" the console shows "P" "PL" "PLA" "PLAN" "PLANT"

    if (timeout) {
      clearTimeout(timeout);
    }
    
    //after 2 seconds, send searchResult via ajax
    timeout = setTimeout(function () {
        $.ajax({ url: '/endpoint', 
          data: {
            search_result:searchResult
          },
          "_token": "{{ csrf_token() }}",
          type: "POST", 
          success: successHandler 

        });
    }, 2000);
  }
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AJAX呼び出しからの結果を制限する

分類Dev

AJAX呼び出しのみを受け入れるようにMVCメソッドを制限する

分類Dev

RxJSで複数のajax呼び出しの圧力を制御する方法

分類Dev

多数の入力に対して単一のAjax呼び出しを設定することは可能ですか?

分類Dev

RxJを使用して間隔ごとのAPI呼び出しの数を制限するにはどうすればよいですか?

分類Dev

djangoで外部APIへの呼び出しを制限する方法

分類Dev

関数への呼び出しを制限する

分類Dev

関数ごとのグループの光沢のある入力を呼び出す

分類Dev

React-複数のAjax呼び出しを制御する

分類Dev

AJAX呼び出しiteslfに追加のコードを入力せずにAjax呼び出しをリッスンする

分類Dev

同じajax呼び出しで3つの要素を入力します

分類Dev

duplicate() 関数で cons 関数の呼び出し回数を制限することはできますか?

分類Dev

リストにajax呼び出しを動的に入力した後、リストの表示値を更新する

分類Dev

canvasjsのAJAX呼び出しから入力を取得して対数目盛でグラフを描画する方法

分類Dev

ajax呼び出しを介してjstree最後のノードをクリックしたときにデータを入力する方法

分類Dev

ajax呼び出しのURLの変数としてhtmlフォームからの複数の入力を使用する

分類Dev

Pythonで関数呼び出しの実行時間を制限する方法

分類Dev

Azure関数:1秒あたりの呼び出し数を制限する

分類Dev

関数呼び出しの深さ制限を回避する方法は?

分類Dev

miunteの間隔で関数呼び出しを最大15回に制限する

分類Dev

recyclerviewのタッチイベントごとのonScrolled()メソッド呼び出しの数を制限できますか?

分類Dev

ユーザーごとに呼び出し可能なhttpsfirebaseクラウド関数の実行を制限しますか?

分類Dev

jqplotチャートにAjax呼び出しからのデータを入力する

分類Dev

入力を文字列の呼び出しとして使用することは可能ですか?

分類Dev

AzureFunctionsの1.5GBのメモリ制限は、関数アプリ全体または関数呼び出しごとに制限されていますか?

分類Dev

ajax呼び出しから関数の背後にあるコードを呼び出し、アイテムごとに表示します

分類Dev

文字ごとに個別の入力フィールドの文字数を制限する

分類Dev

関数呼び出しが長いときに新しい行を入力するPythonのVSCode

分類Dev

入れ子関数呼び出しの制限の増加

Related 関連記事

  1. 1

    AJAX呼び出しからの結果を制限する

  2. 2

    AJAX呼び出しのみを受け入れるようにMVCメソッドを制限する

  3. 3

    RxJSで複数のajax呼び出しの圧力を制御する方法

  4. 4

    多数の入力に対して単一のAjax呼び出しを設定することは可能ですか?

  5. 5

    RxJを使用して間隔ごとのAPI呼び出しの数を制限するにはどうすればよいですか?

  6. 6

    djangoで外部APIへの呼び出しを制限する方法

  7. 7

    関数への呼び出しを制限する

  8. 8

    関数ごとのグループの光沢のある入力を呼び出す

  9. 9

    React-複数のAjax呼び出しを制御する

  10. 10

    AJAX呼び出しiteslfに追加のコードを入力せずにAjax呼び出しをリッスンする

  11. 11

    同じajax呼び出しで3つの要素を入力します

  12. 12

    duplicate() 関数で cons 関数の呼び出し回数を制限することはできますか?

  13. 13

    リストにajax呼び出しを動的に入力した後、リストの表示値を更新する

  14. 14

    canvasjsのAJAX呼び出しから入力を取得して対数目盛でグラフを描画する方法

  15. 15

    ajax呼び出しを介してjstree最後のノードをクリックしたときにデータを入力する方法

  16. 16

    ajax呼び出しのURLの変数としてhtmlフォームからの複数の入力を使用する

  17. 17

    Pythonで関数呼び出しの実行時間を制限する方法

  18. 18

    Azure関数:1秒あたりの呼び出し数を制限する

  19. 19

    関数呼び出しの深さ制限を回避する方法は?

  20. 20

    miunteの間隔で関数呼び出しを最大15回に制限する

  21. 21

    recyclerviewのタッチイベントごとのonScrolled()メソッド呼び出しの数を制限できますか?

  22. 22

    ユーザーごとに呼び出し可能なhttpsfirebaseクラウド関数の実行を制限しますか?

  23. 23

    jqplotチャートにAjax呼び出しからのデータを入力する

  24. 24

    入力を文字列の呼び出しとして使用することは可能ですか?

  25. 25

    AzureFunctionsの1.5GBのメモリ制限は、関数アプリ全体または関数呼び出しごとに制限されていますか?

  26. 26

    ajax呼び出しから関数の背後にあるコードを呼び出し、アイテムごとに表示します

  27. 27

    文字ごとに個別の入力フィールドの文字数を制限する

  28. 28

    関数呼び出しが長いときに新しい行を入力するPythonのVSCode

  29. 29

    入れ子関数呼び出しの制限の増加

ホットタグ

アーカイブ