我目前有一个AJAX请求,用于从JSON文件更新HTML表。 现在,我想要一种提醒更改的方法,使用已添加的新表项目提醒。
下面是一个如何填充HTML表的示例。 我试过将JSON请求存储到JSON.stringify中,将其存储到一个变量中,然后将其与上次运行时进行比较。不走运,我只返回true / false,我想用compare返回新旧数据之间的差异。
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数据与上次传入的数据进行比较,发现差异并发出警报? 任何帮助将不胜感激。
答案 0 :(得分:0)
也许您可以尝试将数据存储在localStorage中。下次获取数据时,可以从上一个Ajax调用中提取数据,并使用循环将它们进行比较
答案 1 :(得分:0)
定义一个arry并将元素推入数组,然后可以将数组与新数据进行比较
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);