问题: AJAX调用被多次调用,虽然它被调用一次。
功能: 我点击一个按钮进行AJAX调用(mootools Request.JSON)。初始呼叫完成,但有多个呼叫被启动。次数是随机的,有时是2或3。
此问题也适用于其他AJAX调用。我如何防止这些额外的电话?
我在某处读到了关于AJAX调用的绑定/解除绑定的内容,但dint非常说服我
答案 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/
甚至有一个例子可以完全匹配您同时多次触发请求的问题。