我的网站上有一个类似按钮,类似于脸书
这里的问题是当用户持续点击按钮重复时,有时甚至会出现负片
由于 jquery Async false 我们可以避免新的请求,除非旧的请求被关闭,但是读到W3C不推荐的地方,所以任何人都可以帮助我克服这个问题,因为可能是这种情况的最佳实践以及Facebook如果知道任何人都知道的那种做法。
答案 0 :(得分:0)
我会阻止服务器端的请求,绝不相信来自用户端的输入。
当您使用他们喜欢的用户ID和项目在数据库中存储类似内容时,只需在执行写入之前检查数据库中是否已存在类似内容。
答案 1 :(得分:0)
您可以通过设置标志来检查上次请求是否已关闭。
var isInAjax = false;
$("#button").click(function(){
if(!isInAjax )
{
isInAjax = true;
$.ajax({
//code here
}).done(function(){
isInAjax = false;
}).fail(function(){
isInAjax = false;
});
}
});