防止多个AJAX请求

时间:2013-01-10 11:36:06

标签: javascript html ajax event-handling mootools-events

问题: AJAX调用被多次调用,虽然它被调用一次。

功能: 我点击一个按钮进行AJAX调用(mootools Request.JSON)。初始呼叫完成,但有多个呼叫被启动。次数是随机的,有时是2或3。

此问题也适用于其他AJAX调用。我如何防止这些额外的电话?

我在某处读到了关于AJAX调用的绑定/解除绑定的内容,但dint非常说服我

enter image description here

2 个答案:

答案 0 :(得分:2)

我非常怀疑这是由于事件传播/冒泡(由于嵌套元素造成的)。

请参阅我的小提琴,例如:http://jsfiddle.net/FHRv7/1/

所有DIV都被告知在点击时显示警告。通过单击A或B,您会注意到会出现三个警报。这是因为您不仅要为包含该字母的方框触发该事件,而且还要在其下方显示两个字母。

然而,

C已设置为使用e.stopPropagation();取消传播,告诉jQuery / Javascript不再处理任何事件。

我希望这有帮助吗?

GAV株系

答案 1 :(得分:1)

找出触发ajax调用的原因和位置,然后找到触发此触发器的原因并防止该触发器多次触发。但是如果没有你的代码,我们就无法真正帮助你。

修改

这可能会有所帮助: http://api.jquery.com/jQuery.ajaxPrefilter/

甚至有一个例子可以完全匹配您同时多次触发请求的问题。