我一直在做很多搜索,并且不认为我能找到我想要的东西。
我有一个类似于twitter工作的系统,只需点击一下按钮就可以在多个人中添加(或跟随Twitter)。
例如,每次我点击"添加"下面的按钮,它发出一个AJAX请求将它们添加到数据库中。
<ul>
<li>Ben <a href="#" onclick="return addPerson(1);">Add</a></li>
<li>Sarah <a href="#" onclick="return addPerson(2);">Add</a></li>
<li>Chantelle <a href="#" onclick="return addPerson(3);">Add</a></li>
<li>Alan <a href="#" onclick="return addPerson(4);">Add</a></li>
</ul>
现在,如果我一个接一个地点击每个人的添加按钮,我不认为排队每个人的ajax请求将充分利用资源。加上它会很慢。
在我点击每个&#34;添加&#34;之后,我想到的可能是延迟或类似的事情。按钮。因此,它会记录我点击的所有人的ID,并为所有点击的人发送一个ajax请求。
是否有现有脚本或者您能推荐我如何做到这一点?
答案 0 :(得分:3)
这样的事情能做到吗?
var sendDelay;
var peopleToSend = [];
addPerson = function(id) {
if (sendDelay!=null) {
clearTimeout(sendDelay); // Clear timeout
}
sendDelay=setTimeout(addPersonDelayComplete,2000); // Reset timeout
peopleToSend.push(id); // Add person to array
}
addPersonDelayComplete = function() {
// Send the people in peopleToSend in a single ajax call here
peopleToSend.length = 0; // Reset the array
}