我正在使用數據表(https://datatables.net/),並且啓用了延遲加載。它只需要做10個結果(或者其他的東西,現在並不重要)。然後,當你點擊一個新頁面時,必須得到X個下一個結果(可能會有很多結果,所以我不想一次加載所有數據)。數據表延遲加載服務器過濾器延遲
現在,有一個問題。如果我搜索,每個字符發送一個AJAX請求後,導致大量的AJAX請求。但它應該做的是:
- 負載10項
- 您鍵入
- 最後鍵入字符後,等待2秒鐘,然後火AJAX請求
我得到這個代碼:
var dataTable = $('#editor').dataTable({
ajax: {
url: baseUrl + '/ajax/getWebpages',
dataSrc: '',
type: 'POST'
},
deferLoading: 10,
serverSide: true,
searchDelay: 2000,
}).on('search.dt', function()
{
clearTimeout(timer);
timer = setTimeout(function() {
return true;
}, 2000);
});
我知道返回true可能是錯誤的,我真的不知道如何讓我的想法工作。我搜查了很長時間,但找不到任何東西。
是的。但是這不符合我的要求;相反,在發出請求之前它只會等待X毫秒,這意味着如果輸入5個字符,它將等待並仍然執行所有這些請求。但我已經找到了答案。 –
你在找什麼叫做「去抖」看看吧 –