Javascript 理解错误:未捕获类型错误:无法执行';追加儿童';在';节点';:参数1的类型不是';节点';
我看到了一些关于这个错误的问题,我的问题有不同的解决方案。也许有人能解释一下?我知道我需要将JSON响应转换为字符串,但在这方面,错误消息对我来说毫无意义Javascript 理解错误:未捕获类型错误:无法执行';追加儿童';在';节点';:参数1的类型不是';节点';,javascript,Javascript,我看到了一些关于这个错误的问题,我的问题有不同的解决方案。也许有人能解释一下?我知道我需要将JSON响应转换为字符串,但在这方面,错误消息对我来说毫无意义 var root = "someurl"; url = root + url; $.ajax({ type: 'POST', url: url, data: formData, }).done(function (response) { // Fails with error: Uncaught TypeError:
var root = "someurl";
url = root + url;
$.ajax({
type: 'POST',
url: url,
data: formData,
}).done(function (response) {
// Fails with error: Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
document.getElementById("resultBox").appendChild(response);
// OK
document.getElementById("resultBox").textContent = JSON.stringify(response, null, 4);
}
[.appendChild
]函数需要第一个参数作为参数
以下任何一个接口都被视为节点
:
不属于上述任一项的任何内容都不被视为节点
。因此,当您传递对象或字符串(响应<代码>时<代码>),将引发以下错误:
TypeError:未能在“节点”上执行“appendChild”:参数1不是“节点”类型
ajax请求返回的响应
很可能是一个错误
JSON.stringify
将对象转换为
两者都不是列出的界面之一。正如错误所述。不能使用非节点的内容调用appendChild
。字符串(或对象)都不是节点。您的textContent
解决方案有问题吗?没有,textContent版本工作正常。我想我被语言“未能在上执行appendChild”弄糊涂了,认为这意味着getElementById返回的范围。函数获取参数-错误是说传递给appendChild
(即响应
)的第一个参数不是节点。(如果resultBox
不是一个元素,那么当您尝试访问appendChild
属性时,它会在前面抛出)