首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript + jQuery调用相同的函数4次,对吗?

Javascript + jQuery调用相同的函数4次,对吗?
EN

Stack Overflow用户
提问于 2014-08-19 14:29:20
回答 4查看 554关注 0票数 1

我有一个设置,其中包含类似数据的div(但排名不同)需要在启动时动态加载数据。为此,我通过AJAX加载一个PHP页面,并传递一个参数,以便它知道要查询的级别。但是,为了在start上加载,我需要连续调用4次相同的函数。这个语法正确吗?或者,在没有调用相同函数的大列表的情况下,是否有一种方法来编写此函数?

代码语言:javascript
复制
$(document).ready(function(){
    getStuff(1);
    getStuff(2);
    getStuff(3);
    getStuff(4);
});
function getStuff(type) {
    $.ajax({
       type: "GET"
       ..........
       success: function(html) {
          $('[data-id="' + type + '"]').html(html);
       }
    });
}


<div id="rank1" data-id="1"></div>
<div id="rank2" data-id="2"></div>
<div id="rank3" data-id="3"></div>
<div id="rank4" data-id="4"></div>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-08-19 14:32:29

代码语言:javascript
复制
$(document).ready(function(){

  // edit as per taseenb@ comment for performance
  var size = $("div[id^=rank]").size()

  for(var i = 1; i <= size; i++){
    getStuff(i);
  }
});
票数 2
EN

Stack Overflow用户

发布于 2014-08-19 14:32:26

当然,有一种方法,它被称为循环:)

代码语言:javascript
复制
$(document).ready(function(){
    for(i = 1; i < 5; i++){  
       getStuff(i);
    }
});
票数 1
EN

Stack Overflow用户

发布于 2014-08-19 14:33:22

为什么不让getStuff接受一个数组并在一个循环中调用AJAX呢?

另外,需要考虑的是: AJAX是异步的(正如名称所暗示的那样),因此不能保证这些调用将以相同的顺序返回。如果您需要它们按顺序发生,则应该递归地进行调用--从上一次调用的成功函数中进行每个后续调用。这样,您就可以保证上一次调用在进行下一次调用之前已经完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25386043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档