如何让Jquery .load()函数工作一次并且Ajax请求一次?

时间:2016-03-24 17:31:49

标签: javascript jquery ajax

当加载页面时,必须加载PHP文件中的内容,因为我正在使用JQuery .load()函数,内容成功加载但是它继续加载,我可以从chrome Developer工具中看到它。我只需加载一次内容。

var userName =$('#dT').data('uname');
$('#dT').load('load_table.php', {userName:userName});

所以我尝试了另一种Jquery ajax方法,它也可以连续加载内容。

$(document).ready(function(){
    function loadTable(){            
        var userName =$('#dT').data('uname');
        $.ajax({
                url:'load_table.php',
                data:{'userName':userName},
                success: function(results){
                    $('#dT').html(results); 
                    setTimeout(loadTable,5000);     
                }           
            });
        }
          loadTable();
        });

以上setTimeout函数无法正常工作,只能从PHP文件加载内容一次吗?

1 个答案:

答案 0 :(得分:0)

我认为在您第一次加载尝试时,您正在使用完全相同的代码加载html,因此它将继续加载自身的无穷大。

使用ajax做得更好,但如果我是你,我会将settimeout移到函数本身之外。目前它只会在初始调用成功时触发,你希望它每隔5秒运行一次我猜。所以你第一次在底部调用它,而不仅仅是

loadTable();

你有:

setTimeout(loadTable,5000);

现在您不需要在success函数中执行settimeout。