gpt4 book ai didi

jquery - 每个等待直到完成 $.ajax ,然后继续

转载 作者:行者123 更新时间:2023-12-03 22:30:31 25 4
gpt4 key购买 nike

    function genTask(elem){
elem.each(function(){
$this=$(this).parent('.cntTasks');
var pattern=/taskId-(.*)$/
var idTask=$this.attr('id').match(pattern);
var data='id_task='+idTask[1];
if(typeof jsVar2 !='undefined') data+=jsVar2;
$.ajax({
type: "POST",
url: domain+"/view_tasks/gen_tasks/",
dataType: 'html',
data: data,
success: function(dt){
$this.find('.contChildTasks').html(dt);
childs=$this.children('.taskDesc').find('.has_child');
if(childs.length!=0)
genTask(childs);
}
}
});
$this.find('.taskDesc').show();

});
}

if(typeof jsVar2 !='undefined') genTask($('.cntTasks .has_child'));


});

如何让$.each等到操作$.ajax完成,然后继续循环,我无法获取$this var,因为它有最后的值,对不起我的英语,谢谢!!!!

最佳答案

选项 1:在 success 处理程序中切换到数组中的下一个元素。

选项 2:同步发出 ajax 请求:

  • 全局:

     $.ajaxSetup({ async: false });
  • 或直接在请求中:

     $.ajax({
    async: false,
    type: "POST",
    url: domain+"/view_tasks/gen_tasks/",
    dataType: 'html',
    data: data,
    success: function(dt){
    $this.find('.contChildTasks').html(dt);
    childs = $this.children('.taskDesc').find('.has_child');
    if(childs.length != 0) {
    genTask(childs);
    }
    }
    });

关于jquery - 每个等待直到完成 $.ajax ,然后继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8657401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com