Ajax 调用再次重复的问题

问题描述 投票:0回答:1

我有一个js程序,它已经在Joomla 3中成功进行了Ajax调用。现在将其移动到J5,我发现我必须将.fail&.success更改为.fail&.done。现在,当它到达我的程序末尾(以及 ajax xml 信息处理结束)时,它会重新运行我的整个 js 程序,生成第二个 Ajax 调用和第二组结果。它在第二次执行后停止。这可以在https://ottawaotest.ca/oocj4/ooc-events的“即将举行的活动”列表中看到。有没有其他人经历过这种情况,可以给我建议,告诉我要调查什么?我有 2 个警报语句 - 一个是在进入程序时,第二个是最后一个语句。我不知道这与 Ajax 调用有什么关系,但可能有可能。 js 程序是由 Joomla 模块调用的,但我检查过它,它只调用一次。 这是模块代码

<script type="text/javascript" src="files/ooc_events.js"></script>
<link rel="stylesheet" href="files/event_box.css">
<div class="mod_header"><br/><br/>Upcoming Events </div>
<div  id="eventsContent"></div>

“eventsContent”的内容被重复。 任何人可以提供的任何帮助将不胜感激。

我已经逐条调试语句,但在 .js 末尾和重新进入之间,它进入了 jQuery 和 sppagebuilder(不属于 J3 站点的一部分)之间的许多语句。对 js 的调用可能是由其中之一完成的,但这不是模块调用,否则我会重复标题,但我没有。
这是 Ajax 调用

jQ.ajax({
    url: myURL,
    dataType: 'xml'
  })

  .fail (function(fail) {
  //    alert ("failed");
    jQ('#eventsContent').append(WJRdownMessage);
  })

  .done(function(xml) {
     
    jQ(xml).find('Event').each(function() {
    //   alert ("process event");
      var eventID = jQ(this).find("Id").first().text();
      var eventName = jQ(this).find("Name").first().text();
.......  lots of code dealing with each set of data to build htmlResults array then ...
       jQ('#resultsContent').append(htmlResults.join(''));
});

它确实成功获取了 xml 形式的所有请求数据。

javascript jquery ajax joomla
1个回答
0
投票

我发现问题了。该调用是由页面上的另一个模块进行的,该模块是一位程序员同事在不知道我正在做的工作的情况下插入的。我们需要解决的困惑!

© www.soinside.com 2019 - 2024. All rights reserved.