首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ajax在没有设置间隔的情况下成功更新数据内容

ajax在没有设置间隔的情况下成功更新数据内容
EN

Stack Overflow用户
提问于 2015-06-26 03:36:09
回答 2查看 1.7K关注 0票数 1

有没有办法在没有设置间隔的情况下更新ajax数据内容?这使我的浏览器速度很慢,这是我的代码

代码语言:javascript
运行
复制
setInterval(function(){
var ajaxurles = "<?php echo admin_url('admin-ajax.php'); ?>";
$.ajax({
     type: "GET",
     url: ajaxurles,
     data:'action=ajax_statics&post_id=<?php echo $post->ID; ?>',
     success:function(data){
    $(".loadajaximge").hide();
    $('.inajaxupdates').empty();
    $(".inajaxupdates").append(data);
    }               
    });
    },9000);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-26 04:32:46

这需要使用setIntervalsetTimeout。但是setTimeout会比setInterval更好,因为使用setInterval,如果您以前的ajax请求还没有完成,并且启动了另一个请求,那么会有多个请求出现问题。您可以做的是使用setTimeout,例如:

代码语言:javascript
运行
复制
(function doSomeRequest() {
  $.ajax({
     type: "GET",
     url: ajaxurles,
     data:'action=ajax_statics&post_id=<?php echo $post->ID; ?>',
     success:function(data){    
        $(".loadajaximge").hide();
        $('.inajaxupdates').empty();
        $(".inajaxupdates").append(data);
     },
     complete: function() {
         //call the 'doSomeRequest' when current one is complete
         setTimeout(doSomeRequest, 9000);
     }
  });
})();

但是使用setTimeout,如果您的请求失败,那么它将阻止其他请求。

票数 2
EN

Stack Overflow用户

发布于 2015-06-26 03:38:06

只使用代码的这一大部分,当您想在成功回调之后追加内容时,不需要设置时间间隔,直到并且除非您想一次又一次地使用一个间隔进行ajax调用。使用以下代码:

代码语言:javascript
运行
复制
ajaxurles = "<?php echo admin_url('admin-ajax.php'); ?>";
$.ajax({
     type: "GET",
     url: ajaxurles,
     data:'action=ajax_statics&post_id=<?php echo $post->ID; ?>',
     success:function(data){
    $(".loadajaximge").hide();
    $('.inajaxupdates').empty();
    $(".inajaxupdates").append(data);
    }               
    });

编辑:

代码语言:javascript
运行
复制
ajaxurles = "<?php echo admin_url('admin-ajax.php'); ?>";
setInterval(function(){
$.ajax({
     type: "GET",
     url: ajaxurles,
     data:'action=ajax_statics&post_id=<?php echo $post->ID; ?>',
     success:function(data){
    $(".loadajaximge").hide();
    $('.inajaxupdates').empty();
    $(".inajaxupdates").append(data);
    }               
    });
    },9000);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31064468

复制
相关文章

相似问题

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