使用者輸入完成後執行 Ajax 請求
許多應用程式需要在使用者輸入時即時觸發操作。然而,每次擊鍵都執行伺服器請求可能效率很低,因為它可能會淹沒系統並可能壓垮伺服器。在搜尋框輸入等情況下尤其如此,會產生大量請求。
實現鍵入完成偵測
要解決此問題,解決方案是偵測當使用者在啟動 ajax 請求之前完成輸入時。這可以透過設定計時器來實現。其運作原理如下:
計時器初始化:
計時器啟動/重置:
計時器停止:
操作執行:
使用 jQuery 的範例程式碼:
var typingTimer; //timer identifier var doneTypingInterval = 5000; //time in ms, 5 seconds for example var $input = $('#myInput'); //on keyup, start the countdown $input.on('keyup', function () { clearTimeout(typingTimer); typingTimer = setTimeout(doneTyping, doneTypingInterval); }); //on keydown, clear the countdown $input.on('keydown', function () { clearTimeout(typingTimer); }); //user is "finished typing," do something function doneTyping () { //do something, such as execute your ajax request }
以上是如何透過偵測使用者輸入完成來優化 Ajax 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!