JSON到HTML表比较和警报

问题描述 投票:1回答:2

我目前有一个AJAX请求来从JSON文件更新HTML表。我现在想要一种方法来警告更改,使用已添加的新表项进行警报。

下面是如何填充HTML表的示例。我已经尝试将JSON请求存储到JSON.stringify中,将其存储到变量中,然后将其与上次运行时进行比较..没有运气,我只返回一个true / false,我想比较返回新旧数据之间的差异。

            function populate_table(){
                $(document).ready(function(){
                    $.getJSON("data.json", function(data){
                        var update_table = '';
                        $.each(data, function(key, value){
                            update_table += '<tr>';
                            update_table += '<td>'+value.name+'</td>';
                            update_table += '<td>'+value.date+'</td>';
                            update_table += '<td>'+value.address+'</td>';
                            update_table += '<td>'+value.phone+'</td>';
                            update_table += '</tr>';
                        });
                        $('#my_table tbody').html(update_table);
                    });
                });
            };
            populate_table(); 
            setInterval(function(){
                populate_table() 
            }, 5000); 

在不改变后端JSON数量的情况下,有没有办法比较新的AJAX数据与上次出现的数据,发现差异和警报?任何帮助将不胜感激。

javascript html json ajax
2个回答
0
投票

也许您可以尝试将数据存储在localStorage中。下次当您获取数据时,您可以从上次Ajax调用中提取数据并使用循环进行比较


0
投票

定义一个数组并将元素推入数组,然后您可以将数组与新数据进行比较

var old_data = new Array;
function populate_table(){
...
old_data .push(name:value.name,
dtae:value.date,
addres: value.address,
phone:value.phone);
$('#my_table tbody').html(update_table);
© www.soinside.com 2019 - 2024. All rights reserved.