Javascript 理解错误:未捕获类型错误:无法执行';追加儿童';在';节点';:参数1的类型不是';节点';

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:

我看到了一些关于这个错误的问题,我的问题有不同的解决方案。也许有人能解释一下?我知道我需要将JSON响应转换为字符串,但在这方面,错误消息对我来说毫无意义

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
    属性时,它会在前面抛出)