如何自动更新html内容?

时间:2015-10-31 07:53:27

标签: javascript php jquery html ajax

我正在尝试创建一个FB新闻源,但用于显示数据库中的内容。 我的代码已经读取了表的行数,但是在更新html的内容之前需要刷新页面。

这是我的代码:

我的html文件的一部分:

<section id="reportcontent"></section>
<script>
    (function refreshNews()
    {
        $("#reportcontent").load("php/ajax.php");
    })();
    setInterval('refreshNews()',1000); 
</script>

ajax.php的内容

<?php 
    require("database.php");

    $sql = "SELECT * FROM report";

    $res = odbc_exec($conn,$sql);

    while($feedItem = odbc_fetch_array($res))
    {
        echo "hello! <br>";
    }
?>

正如您所看到的,我桌子的每一行都会回显一个问候文本。但是为了查看我需要刷新页面的新行数。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

这应该有效。您将函数名称作为字符串传递给setInterval,方法是将其包装在''中。它应该只是调用

这样的函数
public class MotorDetails
{
    public int Id { get; set; }
    public string Name { get; set; }

    public string Make { get; set; }
    public string Model { get; set; }
    public string Year { get; set; }
    public string Kilometers { get; set; }

    [JsonConverter(typeof(StringEnumConverter))]
    public Color Color { get; set; }
} 

也不确定这只是一个示例,但php代码不会为表生成行。
只是一个换行符。

同时我们正在努力。使用Ajax调用的间隔是不好的做法。原因是请求可能需要比间隔时间更长的时间,并且最终会同时运行多个调用。在AJAX.load()

的回调函数中使用setTimeout

setInterval('refreshNews',1000); 
function refreshNews()
    {
       $("#reportcontent").load("php/ajax.php", function(){setTimeout(refreshNews, 1000);});
        
    }();


window.onload= function(){
    refreshNews(); 
  }