每隔X分钟/秒重新加载AJAX数据,jQuery

Nig*_*ICU 8 php ajax jquery

我编写了一个CMS,其中包含最近登录系统的人员日志.目前,这些数据通过Ajax提供给jQuery UI选项卡.我想将这些信息放在主页的侧栏上,并每隔30秒(或某段时间)通过AJAX加载.

我该怎么做呢?PHP响应是否需要进行JSON编码?我对AJAX和JSON数据还不熟悉.

这是我目前用来从用户表中提取详细信息的PHP-

<?php
$loginLog = $db->query("SELECT name_f, name_l, DATE_FORMAT(lastLogin, '%a, %b %D, %Y %h:%i %p') AS lastLogin FROM user_control ORDER BY lastLogin ASC LIMIT 10");
while ($recentLogin = $loginLog->fetch()) {
echo $recentLogin['name_f'] . " " . $recentLogin['name_l'] . " - " . $recentLogin['lastLogin'];
}
?>
Run Code Online (Sandbox Code Playgroud)

谢谢! UPDATE

好吧,这就是我到目前为止......我坚持的部分是如何循环JSON并将其输入框中.只要我只使用一个结果并确保它不在[]中,它就可以正常工作.我只是学习Ajax和JSON,由于某种原因它不太容易找到我.

Javascript -

$(document).ready(function(){

                function refreshUsers(){

                    $.getJSON('json.php', function(data) {

                            for (var i = 0; i < data.length; i++) {

                                $("#loadHere").html('<p>' + data.name + ' ' + data.lastLogin + '</p>');

                            }

                });

            }

                var refreshInterval = setInterval(refreshUsers, 30 * 1000);

                refreshUsers();

            });
Run Code Online (Sandbox Code Playgroud)

我的PHP脚本输出什么 -

[{"name":"Joe Smith","lastLogin":"Fri, May 21st, 2010 08:07 AM"},{"name":"Jane Doe","lastLogin":"Fri, May 21st, 2010 07:07 AM"}]
Run Code Online (Sandbox Code Playgroud)

谢谢!

Seb*_*Seb 16

PHP方面,使用json_encode().

客户端,使用$ .getJSON():

function refreshUsers(){
  $.getJSON(url, postData, function (data, textStatus){
    // Do something with the data
  });
}

// Keep interval in a variable in case you want to cancel it later.
var refreshInterval = setInterval(refreshUsers, 30 * 1000);
Run Code Online (Sandbox Code Playgroud)

有了这两个,你应该有很多东西可以开始.不仅如此,你还会要求我们为你工作:)