我在我的应用程序前端使用 VueJS,在后端使用 Laravel。使用自由文本搜索减少对服务器调用的最佳位置在哪里?
搜索输入“你好”
@keyup
将发出 5 个服务器请求
1st = h
2nd = he
3rd = hel
4th = hell
5th = hello
理想情况下,我希望能够停止服务器请求,直到用户停止键入或延迟击键。这样我每次搜索时只会向服务器发送 1 或 2 个请求。
最佳答案
我解决这个问题的方法是让请求超时,每次按下另一个键时,重置超时。
这使得只有在一定时间内没有击键时才会完成请求。
function keyPressed() {
if (window.ajaxtimeout)
clearTimeout(window.ajaxtimeout);
window.ajaxtimeout = setTimeout(function () {
// Ajax request
}, 300);
};
此示例将在两次击键之间等待 300 毫秒,然后再发送 ajax 请求。我发现这是一个很好的值(value)。
关于laravel - 限速自由文本搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45735117/