我目前有一个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数据与上次出现的数据,发现差异和警报?任何帮助将不胜感激。
也许您可以尝试将数据存储在localStorage中。下次当您获取数据时,您可以从上次Ajax调用中提取数据并使用循环进行比较
定义一个数组并将元素推入数组,然后您可以将数组与新数据进行比较
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);