2

问题:AJAX 调用被多次调用,尽管它被调用了一次。

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

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

我在某处读到了有关绑定/取消绑定 AJAX 调用的信息,但我很信服

在此处输入图像描述

4

2 回答 2

3

我高度怀疑这是由于事件传播/冒泡(由于嵌套元素。)

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

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

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

我希望这有帮助?

加夫

于 2013-01-10T13:30:53.113 回答
1

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

编辑

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

甚至还有一个示例与您同时多次触发请求的问题完全匹配。

于 2013-01-10T11:50:31.557 回答