[英]JavaScript: JSON properties to html content using .forEach
我的JSON
数据变量是this.responseText
:
{
'nav': '<a href="">a</a><a href="">b</a>',
'content': '<div>tartalom</div>',
'akarmi': 'hello'
}
我想使用.foreach
循环而不是:
document.getElementById("nav").innerHTML = '<a href="">a</a><a href="">b</a>';
document.getElementById("content").innerHTML = '<div>tartalom</div>';
document.getElementById("akarmi").innerHTML = 'hello';
您可以使用Object.entries
如下:
const res = { 'nav': '<a href="">a</a><a href="">b</a>', 'content': '<div>tartalom</div>', 'akarmi': 'hello' }; Object.entries(res).forEach(([elemId,htmlContent]) => { const elem = document.getElementById(elemId); if(elem) elem.innerHTML = htmlContent; });
<div id="nav"></div> <div id="content"></div> <div id="akarmi"></div>
它的作品:谢谢。 JSON.parse()
Object.entries(JSON.parse(this.responseText)).forEach(([elemId,htmlContent]) => {
索引.html
<html>
<head>
<script src="script.js"></script>
</head>
<body onload="javascript:ajax();">
<div id="nav"></div>
<div id="content"></div>
<div id="akarmi"></div>
</body>
</html>
脚本.js
function ajax () {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) {
Object.entries(this.responseText).forEach(([elemId,htmlContent]) => {
const elem = document.getElementById(elemId);
if(elem) elem.innerHTML = htmlContent;
});
}
};
xhttp.open ("GET", "foo.php", true);
xhttp.send ();
}
foo.php
{
'nav': '<a href="">a</a><a href="">b</a>',
'content': '<div>tartalom</div>',
'akarmi': 'hello'
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.