首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Ajax。Ajax成功再次调用同一ajax函数

Ajax。Ajax成功再次调用同一ajax函数
EN

Stack Overflow用户
提问于 2020-07-31 14:33:14
回答 1查看 52关注 0票数 1

这就是我尝试过的。

代码语言:javascript
代码运行次数:0
运行
复制
                    tjq.ajax({
                    type: 'POST',
                    url: '<?php echo base_url();?>getCmsHotel?t=<?php echo $traceId;?>',
                    dataType: 'JSON',
                    encoding:"UTF-8",
                    contentType: "application/json",
                    traditional: true,
                    async: true,
                    error: function (request, error) {
                        searchApiCount++;
                        hotelssearchObj.reloadFunctions(searchApiCount);
                        return false;
                    },
                    success: function (data) {

                      //alert(data.status);         
        
                        if(data.status == 'FAILURE'){
                            //searchresults = data;
                            searchApiCount++;
                            hotelssearchObj.reloadFunctions(searchApiCount);
                            return false;
                        }else if(data.status == 'SUCCESS'){
                            var recalajx = '2'; 
                             if(recalajx =='2' && recalajx!=3){
                                 recalajx ='3';
                                tjq.ajax(this); 
                             }
                            alert(recalajx); 
                             
                            tjq('.searchresultsDiv').remove();
                            hotelsresults = data;
                            //hotelssearchObj.hotelsResults(data);
                            
                            gblStartCount        = 1;
                            gblHotelData         = tjq.extend(true, {}, data);
                            gblHotelDisplayData = tjq.extend(true, {}, data);
                            hotelssearchObj.hotelsResults(gblHotelDisplayData);
                            searchApiCount++;
                            hotelssearchObj.reloadFunctions(searchApiCount);
                                            
                            tjq("div#divLoading").removeClass('show');
                        }    
                    }
                });

这段代码会多次调用。我尝试调用tjq.ajax(此);仅在第一次ajax成功后调用一次。

当尝试报警时,得到3,但仍在多次呼叫axaj。

如何阻止这一点可以有所帮助!

EN

回答 1

Stack Overflow用户

发布于 2020-07-31 15:03:04

一种解决方案是将Ajax调用放在一个函数中,并使用计数器检查它被调用了多少次。如果计数器小于2,则再次调用该函数。

下面是一个例子:

代码语言:javascript
代码运行次数:0
运行
复制
ajaxCall();

function ajaxCall(counter = 0) {
  $.ajax({
    type: 'POST',
    success: function() {
      counter++
      if (counter < 2) {
        ajaxCall(counter);
      }
    }
  });
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63186859

复制
相关文章

相似问题

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