Javascript 将API响应追加到HTML页面--消失

Javascript 将API响应追加到HTML页面--消失,javascript,html,Javascript,Html,对于分配,我向Github Gist API发出请求,然后将响应附加到HTML页面。然后,我应该允许用户“收藏”其中一个GIST,然后该GIST将出现在单独的收藏夹部分(收藏的GIST将存储在本地存储器中)。我可以提出请求,附加信息,并使喜爱的GIST出现在另一个部分。然而,列表只出现片刻,然后在我点击喜爱按钮后消失。我可以看到名单一闪而过,然后就离开了。所有其他(非喜爱的)要点信息也会消失,即使它不是应该的。谁能给我指一下正确的方向吗?我不允许使用任何JQuery。完整代码如下: 关键代码如下

对于分配,我向Github Gist API发出请求,然后将响应附加到HTML页面。然后,我应该允许用户“收藏”其中一个GIST,然后该GIST将出现在单独的收藏夹部分(收藏的GIST将存储在本地存储器中)。我可以提出请求,附加信息,并使喜爱的GIST出现在另一个部分。然而,列表只出现片刻,然后在我点击喜爱按钮后消失。我可以看到名单一闪而过,然后就离开了。所有其他(非喜爱的)要点信息也会消失,即使它不是应该的。谁能给我指一下正确的方向吗?我不允许使用任何JQuery。完整代码如下:

关键代码如下: var getData=函数(url) { 如果(!req) { 抛出“无法创建HttpRequest”; }

req.onreadystatechange=函数()
{
if(this.readyState==4)
{
如果(请求状态===200)
{
log(“它工作了!!”);
var info=JSON.parse(req.responseText);
用于(var输入信息)
{
GistList.push(信息[键]);
}
}
其他的
{
log(“又搞砸了”);
}
}
对于(i=0;i
如果您正在使用表单,请确保表单标记具有操作属性

req.onreadystatechange = function()
{
    if(this.readyState === 4)
    {
        if (req.status === 200)
        {
            console.log("It worked!!");
            var info = JSON.parse(req.responseText);
            for(var key in info)
            {
                GistList.push(info[key]);
            }
        }
        else
        {
            console.log("It messed up again");
        }
    }

    for (i = 0; i < GistList.length; i++)
    {
        generateGistList(GistList[i]);
    }
}

req.open('GET', url);
req.send();

};

  function generateGistList(Gist) {

    var itemList = document.createElement('li');
    var holdURL = document.createElement('div');
    var holdID = document.createElement('div');
    var description = document.createElement('div');
    if (Gist.description === null)
    {
        description.innerHTML = "No description found";
    }
    else
    {
        description.innerHTML = "Description: " + Gist.description;
    }

    holdURL.innerHTML = "URL: " + Gist.url;
    holdID.innerHTML = "ID: " + Gist.id;
    itemList.appendChild(holdID);
    itemList.appendChild(holdURL);
    itemList.appendChild(description);
    ul.appendChild(itemList);
    list.appendChild(ul);

    var favorite = document.createElement("button");
    favorite.innerHTML = "+";
    favorite.setAttribute("gistId", Gist.id);
    itemList.appendChild(favorite);
    favorite.onclick = function()
    {
        var gistId = this.getAttribute("gistId"); //saved   
        var toBeFavoredGist = findById(gistId);

        //here you add the gist to your favorite list in the localStorage   
        and remove it from the gist list and add it to favorite list
        addFavorite(toBeFavoredGist);
        DisplayFavs();
        //removeGist(toBeFavoredGist);
     }

    }