javascript - 使用 AJAX/JSON 自动更新动态

标签 javascript php html ajax json

我现在有点迷茫,因为我的代码似乎可以工作,但我的 table 不感兴趣。 xD

我正在将数据从我的数据库加载到一个表中,我希望它每三秒“自动更新”一次。我的 JSON 数据是正确的,js 控制台显示更新后的数据。但是我的表不想显示它所以我必须刷新整个页面。然而,这不是我想要做的。

这是我的代码 (HTML+JS):

<script>
$(document).ready(function() {
    setInterval(function() {``
  $.ajax({
      url: "myStuff.php",
      success: function(data) {
          console.log(data);

          myRecords = $.parseJSON(data);
          $("#dynatable").dynatable({

              dataset: {
                  records: myRecords
              }
          });
      }
  });
    }, 3000);
});


<table id="dynatable">
    <thead>
    <th>test1</th>
    <th>test2</th>
    </thead>
    <tbody>
    </tbody>
</table>

PHP:

$response = array();

    while ($zeile = mysqli_fetch_array($db_erg, MYSQL_ASSOC)) {


    $response [] = array(
        "test1" => $zeile['wasd'],
        "test2" => $zeile['wasdf']
    );

}

echo json_encode($response);

当我将数据添加到我的数据库时,返回的 JSON 数据被更新,我在 js 控制台中看到它。问题是我的表不想显示它,它只显示“旧”数据。

有什么解决这个问题的建议吗?

-------------------------------------------- ------------------

编辑:

我知道了! This帮助我解决了我的问题。谢谢您的帮助! :) 这是我的代码:

$(document).ready(function() {
    setInterval(function() {
        $.ajax({
            url: "myStuff.php",
            success: function(data) {
                console.log(data);

                var myRecords = $.parseJSON(data);

                var dynatable = $('#dynatable').dynatable({
                    dataset: {
                        records: myRecords
                    }
                }).data('dynatable');

                dynatable.settings.dataset.originalRecords = myRecords;
                dynatable.process();
            }
        });
    }, 3000);
});

最佳答案

这段代码也可以更新表格。

<script>
$(document).ready(function() {
    var mytable = $("#dynatable");
    setInterval(function() {
        $.ajax({
            url: "do.php",
            success: function(data) {
                myRecords = $.parseJSON(data);
                mytable.dynatable({
                    dataset: {
                        records: myRecords
                    }
                });
                mytable.data('dynatable').settings.dataset.records = myRecords;
                mytable.data('dynatable').dom.update();
                console.log(data);
            }
        });
    },
    1000);
});
</script>

关于javascript - 使用 AJAX/JSON 自动更新动态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27046425/

相关文章:

PHP - 如何使用自动完成

html - 控制图片大小

jquery - 如何在类型为 ="range"的 CANVAS 中更改颜色?

javascript - meteor 事件 map ?

javascript - 将我的 jquery .load 转换为 .ajax

javascript - 有没有办法设置一个条件,使一个参数根据另一个参数而不同? JavaScript

php - 设计一种不同类型的标签云

javascript - Electron 错误: Requires constructor call

php - PayPal ExpressCheckout (Payflow) : Invalid vendor accountError Code: 26

html - 无法将页眉粘贴在页面顶部