我正在製作一個PM系統,而我目前正在添加系統消息(因此用戶可以爲其發送消息)。如何限制元素在一分鐘內被點擊的次數?
問題是,如果用戶一直保持主播和取消標記郵件非常快(一遍又一遍地單擊它),它會弄亂服務器(主機將放置一個503錯誤,直到進程停止)。要爲信息加星標很簡單,就像點擊星星來點擊它/再次點擊它以取消它。
有沒有一種方法,以防止它被點擊了很多,或者說做了錯誤彈出被點擊一分鐘內X次數後?這將防止它重載服務器,因爲當你點擊明星時,它會發送一個AJAX請求並更新數據庫;當你明星時,它會做同樣的事情。
如果明星在一分鐘左右被點擊,是否存在顯示錯誤的jQuery方式?
這些都是我的功能主演:
function addStar(id) {
$('#starimg_' + id).removeClass("not_starred").addClass("starred");
$('#star_' + id).attr({
'title': 'Starred',
'onclick': 'removeStar(' + id + ')'
});
$.get('tools.php?type=addstar', {id: id}, function(data) {
if(data=='true') { // tools.php will echo 'true' if it is successful
alertBox('The message has been starred successfully', 2500);
}
else { alertBox('An error has occurred. Please try again later.'); }
});
}
function removeStar(id) {
$('#starimg_' + id).removeClass("starred").addClass("not_starred");
$('#star_' + id).attr({
'title': 'Not starred',
'onclick': 'addStar(' + id + ')'
});
$.get('tools.php?type=removestar', {id: id}, function(data) {
if(data=='true') { // tools.php will echo 'true' if it is successful
alertBox('The message has been unstarred successfully', 2500);
}
else { alertBox('An error has occurred. Please try again later.'); }
});
}
提前感謝!
http://stackoverflow.com/questions/5031501/how-to-rate-limit-ajax-requests – SuitedSloth
你也可以使用這樣的:http://stackoverflow.com/questions/7804312/remy-銳器功能調節器 – SuitedSloth
@juand:謝謝。 – Nathan