通过AJAX调用多次调用页面,无法找出原因

时间:2012-09-22 23:32:24

标签: javascript jquery wordpress

我觉得这是我需要别人看的东西之一。我试图通过后端我的页面加载,但我有一个小问题。如果您可以推荐更简洁的方法,请执行此操作。但是现在我的问题是偶尔,特别是如果我快速连续点击,它实际上会多次获取页面。当然,这使得它看起来非常错误并且破坏了我正在做的事情的整个过程。

您可以在http://new.potentstudios.com

看到该网站

点击页面就足够了,你会看到我在说什么。

我不确定需要什么样的更多信息。我只是完全难过。我今天花了好几个小时就遇到了这个问题。我怀疑它与哈希变化检测有关,但我还没有确认。

任何能帮助我至少找到答案的人都将永远是我最好的朋友。

编辑:这是有问题的Javascript源文件。在IMO代码标签中发帖太长了。

http://new.potentstudios.com/wp-content/themes/Potent/scripts/main.js

EDIT2:我现在可以确认它与hashchange有关,但是我不知道它为什么会这样做两次。任何人都可以看到我在两次更改哈希的位置吗?

2 个答案:

答案 0 :(得分:1)

我不知道我是否正确理解了您的问题,但看起来您在另一个请求完成之前发送了一个ajax请求。如果是这种情况,请尝试使用以下内容中止前一个:

jsXHR=null;
$('#myLink').click(function(){
     if(jsXHR)
         jsXHR.abort();
     jsXHR=$.get('my.url',function(data){
           jsXHR=null;
           $('#myTarget').html(data);
           //(...)
     });
});

答案 1 :(得分:0)

在没有查看代码的情况下建议两件事。

  1. 从Ajax函数返回false
  2. 在$(“。class”)中。单击(function(){add         $(本).unbind( '点击');