我正在使用一个略有修改的jQuery Autocomplete插件,
它只是更改为从MySQL数据库而不是某些数组中获取JSON对象。
但是,我注意到点击输入字段后,它会发送一个新的请求,与之前的相同。 如果我再次点击另一个,很多快速点击很快就会开始形成一个可怕的问题...没有什么可以阻止它每秒发送无限量的请求。
所以,因为我将请求发送到特定的地方,那个地方永远不应该处理相同的请求两次, 如果输入字段包含与上一个请求相同的字符串,如何阻止它发送新请求?
这是我从以下位置获得修改过的插件的地方:
http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
答案 0 :(得分:1)
您需要输入一个互斥锁,只需一个知道请求是否正在进行中的标志,这样您就可以检查是否存在活动请求,而不是触发新请求。
var inProgress = false;
$('selector').click(function() {
if (!inProgress) {
inProgress = true;
ajaxRoutine();
}
});
function ajaxRoutine() {
...
inProgress = false;
return;
}