gpt4 book ai didi

javascript - 将 JSON 数据传递到 div 框中

转载 作者:行者123 更新时间:2023-11-28 19:48:45 26 4
gpt4 key购买 nike

我有一个 html 页面,它从网站检索 JSON 数据,然后在单击按钮时将其显示在页面的各个部分中。不过,我想做的是将所有数据包含在一个带有滚动条的框中(如果内容太大)。我知道如何获取 JSON 数据,并且知道如何显示它,但我的问题是我不知道如何将其添加到页面上的“mydiv”框中,而不仅仅是将其附加到页面末尾本身。我知道我可能忽略了一些非常简单的东西,但我对 JavaScript 还很陌生,我花了一整天的时间来尝试让它工作,但没有任何结果。

<html>
<head>
<title>JSON scroller</title>
<script>

function dataget()
{
request= new XMLHttpRequest();
request.open("GET","http://example.com/example.json",true);
request.onreadystatechange=function()
{
if(request.readyState==4 && request.status==200)
{
alert(request.responseText);
reply=JSON.parse(request.responseText);
new_nodes(reply);
}
}
request.send()
}
function new_nodes(nodes)
{
var i
for(i=0;i<nodes.length;i++)
new_node(nodes[i]);
}
function new_node(node)
{
var sec=document.createElement("section");
var head=document.createElement("h2");
var par=document.createElement("p");
sec.appendChild(head);
sec.appendChild(par);
head.appendChild(document.createTextNode(node.title));
par.appendChild(document.createTextNode(node.summary));
document.body.appendChild(sec)
}
</script>
<body>

<div id="myDiv" style="height:50%;width:50%;border:1px solid #ccc;overflow:auto;">
<input id="clickMe" type="button" value="clickme" onclick="dataget();" />
</div>

</body>
</html>

我相当确定我需要做的只是更改“new_node”函数的附加并创建代码以涉及“mydiv”,但我所做的每个更改都导致与附加数据相同的结果或根本没有任何结果。要么就是这样,要么我这段时间完全不在状态。任何帮助将不胜感激。

编辑

这就是 JSON 文件的内容

[
{ "title": "book1",
"summary": "A fantasy novel set in medieval times." },
{ "tile": "Book2",
"summary": "A scifi novel set on another planet."}
]

最佳答案

如果你这样做就更好了

function new_node(node)
{
var sec=document.createElement("section");
var head=document.createElement("h2");
var par=document.createElement("p");
sec.appendChild(head);
sec.appendChild(par);
head.appendChild(document.createTextNode(node.title));
par.appendChild(document.createTextNode(node.summary));
//document.body.appendChild(sec);
document.getElementById('myDiv').innerHTML = sec ;
}
<input id="clickMe" type="button" value="clickme" onclick="dataget();" />
<div id="myDiv" style="height:50%;width:50%;border:1px solid #ccc;overflow:auto;">
</div>

关于javascript - 将 JSON 数据传递到 div 框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23856243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com