Php 阻止来自同一服务器会话的同一请求

Php 阻止来自同一服务器会话的同一请求,php,javascript,http,block,Php,Javascript,Http,Block,这不是解决问题的真正问题。我只想找出阻止来自同一用户的同一类型http请求的常用方法 为什么我需要这个: 当用户单击按钮时,Ajax请求将发出,并通过append()返回结果 如果用户两次点击按钮(如果他点击速度很快), 从数据库中获取的结果出错,这是不好的。但是,如果用户在第一个请求得到完全处理后单击按钮,返回的结果是好的 我想我能做的是: 1) 我可以通过.js(通过切换id或禁用按钮)实现这一点 2) 我可以通过php实现这一点(我确信有一组函数用于此) 3) 或者通过服务器设置来实现(但

这不是解决问题的真正问题。我只想找出阻止来自同一用户的同一类型http请求的常用方法

为什么我需要这个:

当用户单击按钮时,Ajax请求将发出,并通过
append()返回结果
如果用户两次点击按钮(如果他点击速度很快),
从数据库中获取的结果出错,这是不好的。但是,如果用户在第一个请求得到完全处理后单击按钮,返回的结果是好的

我想我能做的是:

1) 我可以通过.js(通过切换id或禁用按钮)实现这一点
2) 我可以通过php实现这一点(我确信有一组函数用于此)
3) 或者通过服务器设置来实现(但我对这些几乎一无所知!)

那么,在处理第一个请求之前,阻止来自同一用户的第二个http请求的最佳方法是什么


谢谢

只需禁用该按钮或设置一个在执行回调后重新打开的标志即可


没有必要使PHP过于复杂,也没有必要搞乱服务器(但不确定您的意思)。

我认为您的第一个选择是最好的。。。。在发送ajax请求之前禁用该按钮,在追加内容之后禁用ajax成功后再次启用该按钮即可!但如果服务器长时间不返回结果,按钮将保持禁用状态。我们通过htaccess设置服务器响应的时间限制?可以!但如果服务器长时间不返回结果,按钮将保持禁用状态。我们通过htaccess设置服务器响应的时间限制?哦,不,我的意思是如何缩短http响应的等待时间?您可以在毫秒内将ajax请求的超时设置为您想要的任何值。另外,您可以使用jQuery.ajaxSetup(选项);而且您不必每次都指定超时时间。$。ajax({timeout:1000ms;//1sec}});