我正在構建一個網站的實時搜索,該網站將根據用戶輸入的內容返回結果。我只希望在用戶輸入完畢後發送請求。Jquery ajax搜索反彈
我已經嘗試了一些使用計時器的實現,甚至是來自underscore.js的去抖動方法,但我似乎總是得到類似的結果。
在我輸入時,請求會被延遲,直到我輸入完畢。但是,它似乎將所有的輸入視爲排隊。例如,如果我輸入「自行車」,結果會返回如下結果:
b
bi
bik
bikes
因此,您會得到一個搜索結果流。
這是我目前的實現使用下劃線JS
$('#search_term').on('keyup', _.debounce(function (e) {
$.ajax({
type: "GET",
url: "quicksearch.php",
data: { search_term:$('#search_term').val()},
success: function(msg){
$('#quick_search_results').html(msg).slideDown();
}
});
}, 100));
人有什麼想法?
你的實現是正確的,你可以確認它的發射多個請求的控制檯網絡選項卡上檢查 ? 100ms可能只是太低而不是價值 –