如上所述,我不知道如何使用我的服务器端php使用这种JSON响应(通过使用此代码echo json_encode(array_merge($outp, $outp2));
获得)
[
{
"stuid":"12",
"stuname":"Velino Meratis",
"stucourse":"BSIT",
"stustat":"0",
"stulyear":"4",
"stulog":"feb 16 2017"
},
{
"stuid":"13",
"stuname":"Alana Melker",
"stucourse":"BSCE",
"stustat":"1",
"stulyear":"5",
"stulog":"feb 16 2017"
},
{
"stuid":"12",
"cname":"InfoTech000",
"clog":"1"
},
{
"stuid":"12",
"cname":"InfoTech001",
"clog":"2"
},
{
"stuid":"12",
"cname":"C101",
"clog":"3"
},
{
"stuid":"13",
"cname":"CE000",
"clog":"4"
},
{
"stuid":"13",
"cname":"CE001",
"clog":"5"
},
{
"stuid":"13",
"cname":"C101",
"clog":"6"
}
]
如果我在客户端javascript中使用此代码
if (this.readyState == 4 && this.status == 200) {
students = JSON.parse(this.responseText);
students.forEach(function(item){
console.log(item.stuid);
x = item.stuid;
document.getElementById("demo").innerHTML += x + " " + item.stuname + "<br>" + item.cname + "<br>";
});
}
最终给了我这个:-
12 Velino Meratis
undefined
13 Alana Melker
undefined
我可以某种方式迭代
stuid
和stuname
,但不允许它们将cname
包含为数组。我怎么能把它变成这样的东西:
12 Velino Meratis
InfoTech000, InfoTech001, C101
13 Alana Melker
CE000, CE001, C101
有人可以帮助和详细说明吗?
最佳答案
您可以检查数组是否包含键,这样可以避免出现“未定义”错误。
你可以这样
if(item.hasOwnProperty('cname'))
{
console.log(item.cname);
}
您也可以将其用于stuname或其他键。