场景:我需要在每隔x分钟数量更改一次间隔循环中,将页面加载(php)中的数据库单元与自身进行比较。将php数组与javascript数组的相同数据进行比较
我最初的负载数据是这样的:
var olddata = JSON.stringify(<?php echo json_encode($data1); ?>) + "~|~" +
JSON.stringify(<?php echo json_encode($data2); ?>) + "~|~" +
JSON.stringify(<?php echo json_encode($data3); ?>);
所以在页面加载,我的细胞保存到一个javascript变量和“〜|〜”分隔符,其中$数据1,$ data2和$ data3是数据库中3个不同的单元格(数据数组)。
我的间隔循环数据(AJAX调用)看起来是这样的:
// PHP on the AJAX page
echo json_encode($data1)."~|~".json_encode($data2). "~|~".json_encode($data3);
// AJAX code that gets called every x Intervals
$.get("ajaxpage.php", function(data) {
if (data == olddata) {
console.log("Good!");
}
});
当我比较olddata
对data
他们看上去几乎相同,除了......数据中有一个/
看起来像\/
在旧数据变量data variable and not in the
。
例子:
"10":["10"],"11":["11 5\/25"] // data = return from the AJAX call
"10":["10"],"11":["11 5/25"] // olddata = what was originally echoed on page load.
我如何可以比较两个,让他们完全匹配?因此,我从数据库和json_encode中回应的内容将与我从页面上回显的完全相同的内容以及json函数返回的jason中得到的内容一致。
注:如果删除了JSON.stringify那么它将返回[对象的对象]
比较是没用的,我的意见,只是采取数据和显示它... 另外,为什么你不把旧数据存储为数组? –