Chrome一次只排队2个ajax请求

时间:2013-11-06 21:23:22

标签: javascript jquery ajax google-chrome

我有一个点击事件,它将一个项目异步添加到用户的购物车服务器端和客户端。这可以在所有浏览器中正常运行,直到用户在ajax请求完成之前在Chrome中点击两次以上。在IE和Firefox的网络控制台中,我可以看到请求正确排队,但Chrome一次只排队两个并忽略其他所有内容。即使使用成功事件也无济于事,因为即使Chrome忽略它也会触发。

$(div).on('click',function () {
    $.ajax('script.php')
    .success(function() {
        dosomething();
    });
});

如果您在快速分离中触发此事件5次,则会调用script.php两次,而dosomething()将被调用5次。

有没有办法让Chrome处理两个以上的请求,或者至少调用某个函数的次数与实际的ajax一样多?

2 个答案:

答案 0 :(得分:0)

http://api.jquery.com/jQuery.ajax/

根据API文档,它应该是异步。尝试设置

async: true

应该是默认,但是您的脚本可能正在某处更改? 也许您需要检查控制台是否有错误???

答案 1 :(得分:0)

将代码更改为

$(div).on('click',function () {
    $.ajax({url: 'script.php',cache: false})
    .success(function() {
        dosomething();
    });
});

似乎已经奏效了。请随意告诉我为什么Chrome会在1秒内缓存ajax请求。