用set interval调用Jquery ajax会阻塞页面吗?

时间:2014-02-24 07:09:18

标签: ajax

我一直在使用setInterval函数及时调用jQuery ajax函数。 因此,当第一个响应成功处理程序被调用并执行时,第二个请求成功处理程序在第一个响应处理程序执行后被调用,因为JAVASCRIPT仅支持单线程...依此类推(维护一个队列来处理成功处理程序) ??我的理解是正确的吗?所以有机会阻止页面?

1 个答案:

答案 0 :(得分:0)

这是因为多个ajax请求,大多数浏览器处理ajax请求并在下次调用对同一个url的ajax请求并再次处理时记住它

1st setInterval ajax to abc.html handle [0]
2nd setInterval ajax to abc.html handle [0], [1]
3rd setInterval ajax to abc.html handle [0], [1], [2]

它不断构建并增加混乱以改变这种情况我向用户添加了一个唯一的标识符,例如

$.post("myurl.html?randid="+Math.random(), {my: data}).done(function(data){ /*do stuff here*/});

如果这是一个意味着要加载很长时间并且对同一页面有大量的ajax请求而不是一个随机数,你可能想要使用时间戳。对我来说,大多数情况下随机数都有效,希望这足以让你开始。