我想使用setInterval()每1秒更新一个输出列表,但它会得到无限循环输出

I want to update an output list every 1 second using setInterval(), but it gets infinity loop output

本文关键字:输出 列表 无限循环 一个 setInterval 更新 1秒      更新时间:2023-09-26

我想更新我的名字列表每1秒,所以我尝试setinterval(),但它得到循环。有解决方案吗?

 <script>
 getcus();
 function getcus(){
 $(document).ready(function() { 
    $.get('<?php echo base_url();?>index.php/site/get_all_customer_ajax', function (data) {
          var obj = JSON.parse(data)
          for (var i=0;i<obj.customer.length;++i)
          {
          $('#names').append(obj.customer[i].first_name + "<br>");
          }
    });
 });
   setInterval(getcus, 1000);
  };

输出玛丽亚


何塞。
克拉克
玛丽亚
何塞。
克拉克
玛丽亚
何塞。
克拉克
玛丽亚
何塞。
克拉克

到正无穷. .

在追加前清空#namedivsetTimeout getfocus函数,因为它调用自己所以在这个例子中你不需要setInterval。在成功回调中使用setTimeout来确保下一个请求将在第一个请求成功后调用

$(document).ready(function() { 
	 getcus();
});
function getcus(){
	 $.get('<?php echo base_url();?>index.php/site/get_all_customer_ajax', function (data) {
		 var obj = JSON.parse(data);
		 $('#names').empty();
		 for (var i=0;i<obj.customer.length;++i)
		 {
		 	$('#names').append(obj.customer[i].first_name + "<br>");
		 }
          setTimeout(getcus, 1000);
	});
	
};