【发布时间】:2012-04-05 16:55:38
【问题描述】:
昨天我问了一个关于json的问题
链接:How to return an array from jQuery ajax success function and use it in a loop?
答案之一是这个
setInterval(updateTimestamps,30000);
var ids = new Array();
function updateTimestamps(){
$(".timestamp").each(function(i){
var obj = new Object();
obj.id = $(this).attr("postID");
obj.timestamp = $(this).attr("postdate");
ids.push(obj);
}
$.post("http://site.com/ajax/humanTime.php", {"time": ids}, function(data) {
for (i = 0; i < data.length; i++) {
$("#" + data[i].id).html(data[i].content);
}
}, "json");
}
这个脚本的问题是数据被复制了
第一次执行的时候是这样的
Array
(
[0] => Array
(
[id] => 26629
[timestamp] => 1332273712
)
[1] => Array
(
[id] => 26628
[timestamp] => 1332243526
)
[2] => Array
(
[id] => 26627
[timestamp] => 1332237777
)
第二次是
Array
(
[0] => Array
(
[id] => 26629
[timestamp] => 1332273712
)
[1] => Array
(
[id] => 26628
[timestamp] => 1332243526
)
[2] => Array
(
[id] => 26627
[timestamp] => 1332237777
)
[3] => Array
(
[id] => 26629
[timestamp] => 1332273712
)
[4] => Array
(
[id] => 26628
[timestamp] => 1332243526
)
[5] => Array
(
[id] => 26627
[timestamp] => 1332237777
)
)
我尝试使用 var ids= Array(); , vas ids = [];但那确实有效
【问题讨论】:
-
你检查过 PHP 脚本本身返回的内容吗?
标签: javascript php arrays json ajax