我送一个AJAX请求到服务器上的用户输入到<input>
元素,像这样:发送的jQuery Ajax请求
$('#my-input').bind("input", function(event){
// here's the ajax request
});
让我困扰的是,它在发送不必要的大量请求每个用户的密码,这意味着如果用户输入速度非常快,就会有很多不必要的请求。所以我认为应该有一定的延迟/超时,等待一段时间(50毫秒?),以便用户在发送ajax请求之前停止键入。那将解决一个问题。
但是,在发送另一个请求之前第一个Ajax请求尚未完成的情况呢? (输入60毫秒/字符,而阿贾克斯请求需要300毫秒)。
解决此问题的最佳方法是什么(基于想法和基于代码的)?
你想捕捉每一个击键,或你想只捕获结束消息(模糊)? – sgeddes
@sgeddes:我不想每次捕捉,我都想要结束消息,但最后没有模糊(用户不必去掉区域)。 –
只是捕捉输入一个选项?或忽略退格 - 不知道这是否会实际帮助虽然 –