我在使用.push()方面遇到了一些问题。我认为问题在于我如何定义我的变量。基本上,变量'cache'键与JSON中的data.system []不对应。我正在尝试使用此代码(缩写版本的代码)将数字推送到现有数组:
var cache = ['cpu','mem'];
function doAjax() { /* toggled when ajax button pressed */
$.getJSON( "ajax.php", function(data) {
$.each(data.system, function(i, key) {
console.log(cache.i); /* undefined logged */
cache.i.push(key.value); /*Uncaught TypeError: Cannot call method 'push' of undefined */
});
});
}
JSON:
{
system: {
cpu: {
value: 1
},
mem: {
value: 330
}
}
}
小提琴(我认为我没有正确设置JSON数据):http://jsfiddle.net/x9JaP/
答案 0 :(得分:0)
也许你改变了这个:
var cache = ['cpu','mem'];
为此:
var cache[] = {'cpu','mem'};
和此:
console.log(cache.i);
cache.i.push(key.value);
为此:
console.log(cache[i]);
cache.push(key.value);
你可以有更多的运气。