如果我不使用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();
}
}
答案 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
。