我有一个click事件,它异步地将一个项添加到用户的购物车服务器端和客户端。这在所有浏览器中都很好,直到用户在ajax请求完成之前在Chrome中单击两次以上。在IE和Firefox的网络控制台中,我可以看到请求正在正确地排队,但Chrome一次只排队两次,忽略了所有其他内容。即使使用成功事件也于事无补,因为即使Chrome忽略了它,它也会触发。
$(div).on('click',function () {
$.ajax('script.php')
.success(function() {
dosomething();
});
});
如果您在快速分离中触发此事件5次,那么script.php将被调用两次,而剂量处理()将被调用5次。
是否有办法让Chrome处理两个以上的请求,或者至少调用某些函数的次数与实际加载的ajax相同?
发布于 2013-11-06 21:55:21
将代码更改为
$(div).on('click',function () {
$.ajax({url: 'script.php',cache: false})
.success(function() {
dosomething();
});
});
好像起作用了。请告诉我为什么Chrome会缓存1秒的ajax请求。
发布于 2013-11-06 21:27:58
http://api.jquery.com/jQuery.ajax/
根据API文档,它应该是异步的。试着设置
async: true
应该是默认的,但是您的脚本可能在某个地方改变了这一点?也许您需要检查控制台的错误?
https://stackoverflow.com/questions/19823104
复制相似问题