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