在Javascript中接收Json数组并输出结果
问题描述:
如果我不使用var productOj并输出响应。 innerHTML = this.response; 我会回应这个{“细节”:“这是细节”,“链接”:“/ link/here”},所以响应回来json,但我想访问个别细节和链接,并输出到别的地方。在Javascript中接收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();
}
}
答
它可能看起来像这样。
var productObj = JSON.parse(this.responseText);
var productHtml = "";
productObj.forEach(product => productHtml += "<p>" + product.detail + "</p>")
document.getElementById("detail").innerHTML = productHtml;
你在做什么,通过每个元素在你的productObj
阵列会和创造,你要寻找的HTML。一旦你有了你想要的html的blob,你可以将它附加到你选择的div中。您也可以重复/修改此过程以访问link
。
+0
好主意。我试了一下,我没有工作,但我认为我错误地实施了它。我会试着找出它为什么没有输出任何东西。 – JaP
JQuery是一个选项吗?我认为你会发现一个JQuery实现更简单。 – HumbleWebDev
我知道,但由于某种原因,我不喜欢jquery – JaP