我在用户输入<input>
元素时向服务器发送 ajax 请求,如下所示:
$('#my-input').bind("input", function(event){
// here's the ajax request
});
困扰我的是,它在每个用户的键位上发送了不必要的许多请求,这意味着如果用户键入非常快,就会有许多不必要的请求。所以我认为应该有一定的延迟/超时,等待一定的时间(50 毫秒?)让用户在发送 ajax 请求之前停止输入。那将是解决一个问题。
但是在发送另一个请求之前第一个 ajax 请求还没有完成的情况呢?(键入 60 毫秒/字符,而 ajax 请求需要 300 毫秒)。
解决这个问题的最佳方法是什么(基于想法和代码)?