代码之家  ›  专栏  ›  技术社区  ›  Gracie Sullivan

$.getJson函数未附加到div

  •  1
  • Gracie Sullivan  · 技术社区  · 7 年前

    到目前为止,我有这个功能:

        $.getJSON( "https://api.myjson.com/bins/14uau1", function(data) {
        var dealers = data.dealers.map(dealer => {
        let currentDealer = dealer.data;
        let newDiv = document.createElement("div");
        newDiv.setAttribute("id", currentDealer.customerID);
        return newDiv.innerHTML= currentDealer;
       })
    
       dealers.map(i => {
         let holder = document.getElementById("dealer");
         holder.appendChild(i);
          console.log(i);
      })
    

    然而,每当我尝试运行它时,它都会给我这个错误

    index:212 Uncaught TypeError: Failed to execute 'appendChild' on   'Node': parameter 1 is not of type 'Node
    

    那么,最好的方法是什么呢?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Siah    7 年前

    首先,代码中有几个语法错误。

    缺少一个 }) 这是你想要处理的。

    return newDiv.innerHTML = currentDealer
    newDiv 就像你想的那样。相反,您应该首先分配innerHTML( newDiv.innerHTML = <value> return newDiv uncaught TypeError 错误

    您还将分配一个Javascript对象( currentDealer )而不是字符串。如果要输出此对象的JSON字符串,请使用 JSON.stringify currentDealer.data.companyID .

    还要注意,在这一行 newDiv.setAttribute("id", currentDealer.customerID); currentDealer.customerID

    综上所述

    1. 首先,检查语法错误
    2. 然后,检查您分配的值是否存在( console.log console.dir 是你的朋友)并匹配 data type 您正在尝试分配给


    https://codepen.io/hydrospell/pen/KvRgvB