【问题标题】:JavaScript only load data, if there is data to loadJavaScript 只加载数据,如果有数据要加载
【发布时间】:2015-09-20 22:53:58
【问题描述】:

我有一个外部 PHP 脚本,它输出过去 5 秒内添加到数据库的任何新数据。我使用 ajax 和 jQuery 将 PHP 脚本中的数据加载到 div 中,每 5 秒一次。

我的 jQuery 代码:

function loaddata(){
$("#last_message").load("ajaxlastmessage.php");
setTimeout(loaddata, 10000);
}

loaddata();

如果有数据已经​​输出,我该如何调整这段代码,只加载输出的 PHP 数据?数据是通过在段落标签中回显文本从 PHP 脚本输出的。

提前致谢:)

【问题讨论】:

  • 您的php 脚本是否返回新数据(如果存在)?或每个http-request 上的所有数据?

标签: javascript php jquery html ajax


【解决方案1】:

jQuery 的 load() 函数会立即将加载的脚本添加到给定的元素中,无论它是否包含数据。

如果您想在将数据添加到元素之前分析并查看是否返回了任何数据,则需要先加载数据,然后对其进行一些分析以确定其是否为空,然后再将其添加到给定的元素。

下面是一个例子:

function loaddata() {
    $.ajax({
        type: "GET",
        url: "ajaxlastmessage.php",
        success: function(data) {
            if (data.length>0) {
                $("#last_message").append(data);
            }
        }
    });
    setTimeout(loaddata, 10000);
}

loaddata();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-13
    • 2017-08-28
    • 2019-03-07
    • 2012-10-26
    • 1970-01-01
    • 2015-04-16
    • 2014-11-16
    • 2017-12-03
    相关资源
    最近更新 更多