所以我有一个javascript函数。它执行一个ajax调用,以检索充满数据的json对象。在该ajax调用的成功函数中,我通过ANOTHER ajax调用来检索该特定集合的数据列的名称。 (是的,我确定有更好的方法,但那不是我的问题)。在这个时间点我有两个变量:items(json数组)和interfaceCols(只是一个字符串数组)。然后我尝试创建一个html字符串来创建一个包含所述数据的表。
这是我的代码,它将使一切更加清晰:
$.ajax({
url:"/ryan/nonEmber/ajax.php?table=Interfaces",
beforeSend: function(XMLHttpRequest){},
success: function(data, textStatus) {
interfaceCols = data.split(" ");
$.getJSON("/ryan/nonEmber/getJson.php?table=Interfaces", function( data ){
var items = [];
$.each(data.post, function(key, val){
items.push(val);
});
for(i = 0; i < items.length; i++){
var myString = '<tr id = "visibleRow">';
console.log(items[i].interfaceCols[4]);
for(j = 0; j < interfaceCols.length; j++){
myString = myString + '<td id = "visibleDef">' + items[i].interfaceCols[j] +'</td>';
}
myString = myString + '</tr>';
interfaces.push(myString);
}
});
}
});
我的javascript文件在"myString = myString + '<td id ='...
行引发错误。
我几乎是肯定的,因为我只是在"items[i]"
的末尾添加一个字符串".interfaceCols[j]"
有人可以建议一种方法吗?整点是这样我不必手动输入每个列名,因为我有很多表,每个表都有很多列。
答案 0 :(得分:2)
给定一个JS对象s
:
s = {a: 1, b: 2}
您有(至少)两个选项来访问属性:
s.a // returns 1
这似乎是你现在正在努力做的事情。要使用动态名称访问它,您可以使用:
s['a'] // returns 1
在你的情况下,它应该是:
items[i][interfaceCols[4]]