クライアントコードと呼ばれるフィールドの一意性を検証しています...
この目的でonkeyup JS イベントを使用しました。しかし、キーを非常に速く入力すると、うまく機能しません。これについて
onkeyup イベント
入力したデータがテーブルに既に存在するかどうかを確認するために ajax リクエストを送信しています。
代替手段があれば助けてください..
クライアントコードと呼ばれるフィールドの一意性を検証しています...
この目的でonkeyup JS イベントを使用しました。しかし、キーを非常に速く入力すると、うまく機能しません。これについて
onkeyup イベント
入力したデータがテーブルに既に存在するかどうかを確認するために ajax リクエストを送信しています。
代替手段があれば助けてください..
あなたの質問は、あなたが直面していると思われる実際の問題に関して非常に曖昧です。しかし、私がそれから導き出したのは、キーをすばやく押すことを提案しているため、リクエストが多すぎるということです!
ご存知のAjax
ように、これは通常のページ リクエストと同様に非同期で行われるため、同じネットワーク レイテンシ、スループット、およびラウンド トリップの制約に拘束されます。
必要な機能を実現するクリーンな方法は、スロットリングと呼ばれる手法を使用することです。js
この目的 に最適なプラグインの 1つがここ
にあります。スムーズなUIを提供します。
また、 のような特定の特殊キーをトラップしたくない場合は、 orイベントESCを使用することをお勧めします。具体的な理由は覚えていませんが、単なる提案です。keypress
keydown
主な問題は、AJAX に時間がかかることだと思います。したがって、ユーザーが非常に速く入力すると、サーバーに多くの要求が送信され、実際には必要のない多くの回答が得られます。考えられる解決策の 1 つは、イベントでタイムアウトを作成することです。たとえば、ユーザーが約 500 ミリ秒ほど文字を入力しないまで待ちます。この後、リクエストをサーバーに送信します。
依頼が減るし、依頼がごちゃごちゃしなくなる… .
onkeydown
イベントとチェックを使用しevent.charCode
ます。それは、連続押しのタイピングを高速にしても起動します。