如上所述,我不知道如何使用我的服务器端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

我可以某种方式迭代stuidstuname,但不允许它们将cname包含为数组。

我怎么能把它变成这样的东西:
12 Velino Meratis
InfoTech000, InfoTech001, C101
13 Alana Melker
CE000, CE001, C101

有人可以帮助和详细说明吗?

最佳答案

您可以检查数组是否包含键,这样可以避免出现“未定义”错误。

你可以这样

if(item.hasOwnProperty('cname'))
{
console.log(item.cname);
}

您也可以将其用于stuname或其他键。

10-06 07:02