私はちょうど質問したかった。私は、ユーザーが都市を入力できるようにするためのテキスト入力を持っています。jQuery AJAX通話 - 不要な通話をキャンセルすることはできますか?
jQueryは、この入力にリンクされたイベントをkeyup
に関連付け、各文字の変更後にAJAXコールを送信しました。
しかし、人が入力している間、多くの不要なAJAXコールが送信されることがわかります。結果の数によっては、ここでパフォーマンスが低下する可能性があります。
新しいコールが行われた場合、AJAXコールをキャンセルする方法はありますか?これを行うより良い方法はありますか?
の例では、ここで見ることができます:www.datingjapan.co
Adam、あなたは関数を呼び出す前に最小の文字制限を課しましたか?私はベストプラクティスは、あなたが望むまで何かを呼ぶことではなく、それを50回呼ぶのではなく、あなたが望んでいない40を取り除くことではないと思います。または、返品データに返答の制限を課すことはできますか? – Blake
通常は2つのコントロールがあります。非常に多くの文字が入力されたあと、ajaxを開始するだけです(3-4)。もう1つは、何も1/2秒間に何も入力されていない場合、ajaxに送信することです。さもなければ、それはあまりにも多くのデータベースにヒットし、ユーザーのやり取りを遅くする可能性があります。 – Rodolfo