2012-02-06 65 views
1

当下面的代码执行时,它会多次转到.ajaxComplete。我可以预防这个吗?ajax完成问题

$('.log').ajaxComplete(function(e, xhr, settings) { 
     if (settings.url == 'ajax/test.html') { 
     alert('hi'); 
     } 
    }); 

只有解决办法是我发现的是,使settings.url = ''

$('.log').ajaxComplete(function(e, xhr, settings) { 
     if (settings.url == 'ajax/test.html') { 

settings.url = ''; 
     alert('hi'); 
     } 
    }); 

但我并不觉得合适

+0

你在页面上有更多的日志类实例吗? – 2012-02-06 12:26:09

+0

没有... ......... – 2012-02-06 12:26:44

+0

向我们显示的代码,你让阿贾克斯呼吁 – 2012-02-06 12:30:19

回答

0

这是不应该的 - 看看这个的jsfiddle:

这可能会发生,如果:

  • 还有其他的Ajax请求 - 请注意,ajaxComplete被调用任何请求(例如使页面上的某些插件可能会在后面做AJAX)
  • 你叫ajaxComplete多次

否则,它应该只调用一次,如演示的jsfiddle。

+0

是的,它是去那里不止一次...不知道为什么......和相同的网址只要 – 2012-02-07 06:14:29