Javascript 使用JSON填充标题数据,但收到错误;无法读取未定义的“子对象”的属性appendChild;

Javascript 使用JSON填充标题数据,但收到错误;无法读取未定义的“子对象”的属性appendChild;,javascript,json,Javascript,Json,因此,我有一个javascript文件,它应该提取JSON数据,并使用JSON文件中的标题频繁使用带有h1标记的标题,但它似乎根本没有提取任何数据,我在控制台日志中收到错误消息无法读取未定义的属性'appendChild' 这是我的javascript文件: document.addEventListener("DOMContentLoaded", function() { title(); }); var header = document.getElementsByName("heade

因此,我有一个javascript文件,它应该提取JSON数据,并使用JSON文件中的标题频繁使用带有h1标记的标题,但它似乎根本没有提取任何数据,我在控制台日志中收到错误消息
无法读取未定义的属性'appendChild'

这是我的javascript文件:

document.addEventListener("DOMContentLoaded", function() {
 title();
});

var header = document.getElementsByName("header");

function title() {
loadJSON(function(response) {
   var json = JSON.parse(response);
   var h1 = document.createElement("h1");
    h1.textContent = json.pageone.page_title;
    header.appendChild(h1);
   });
  }

function loadJSON(callback) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', 'dist/json/data.json', true);
xobj.onreadystatechange = function () {
  if (xobj.readyState == 4 && xobj.status == 200) {
    callback(xobj.responseText);
  }
};
xobj.send(null);
}

这是我试图提取的JSON数据:

{
 "pageone":{
 "page_title": "This is a title",
 "page_description": "This is a description"
 },
将返回一个节点列表,因此您需要

document.getElementsByName("header")[0];

以页面上的第一个(我猜只有在它是页眉时)为目标。希望这有帮助。

加载JSON的
loadJSON在哪里?你能看到在devtools中发出的请求吗?我刚刚用
loadJSON
@chrisg86更新了代码我能看到请求是的,它接收JSON数据,它似乎没有处理它我添加了这个,但它似乎仍然没有拉取数据/经常光顾headerHmm,对不起,我不确定,我的XMLHTTP知识充其量只是粗略的,我刚刚注意到一件事,并认为可能是这样。希望其他人能帮忙。尽管如此,上述内容仍然有效,但您需要针对特定元素,或者如果您想针对所有元素,则需要循环使用这些元素。啊,不用担心,但感谢您在针对第一个标题方面提供的帮助!您的意思是
getElementsByTagName
document.getElementsByName("header")[0];