在Javascript中接收Json数组并输出结果

时间:2017-08-29 17:59:05

标签: php arrays json ajax

如果我不使用var productOj并输出响应。 innerHTML = this.response; 我会回复此问题{"详细信息":"这是详细信息","链接":" / link / here"}所以响应来了回到json,但我想访问个别细节并链接并将它们输出到其他地方。

    function getProduct(productName) {
    if (productName == "0") {
        document.getElementById("instr_text").innerHTML = "Please Select A Product";
        return;
    } else {
       // document.getElementById("orderSummary").innerHTML = str;

        xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                //document.getElementById("orderSummary").innerHTML = "success";
              var productObj = JSON.parse(this.responseText);
                document.getElementById("detail").innerHTML = productObj.detail;


            } else {
                //document.getElementById("orderSummary").innerHTML = "failure" + this.readyState + this.status;
            }
        };
        xmlhttp.open("GET", "getinfo.php?productName=" + productName,true);
        xmlhttp.send();
    }
}

1 个答案:

答案 0 :(得分:1)

它可能看起来像这样。

var productObj = JSON.parse(this.responseText);
var productHtml = "";
productObj.forEach(product => productHtml += "<p>" + product.detail + "</p>")
document.getElementById("detail").innerHTML = productHtml;

您正在做的是浏览productObj数组中的每个元素并创建您正在寻找的HTML。一旦你拥有了你想要的hb blob,就可以将它附加到你选择的div中。您也可以重复/修改此过程以访问link