2015-04-27 2 views
0

Для назначения я обращаюсь к API Github Gist и добавляю ответ на HTML-страницу. Затем я должен разрешить пользователю «любить» один из GISTS, а затем GIST должен появиться в отдельном разделе избранных (предпочтительные GISTS должны храниться в локальном хранилище). Я могу сделать запрос, добавить информацию и сделать предпочтительные GISTs в другом разделе. ОДНАКО, списки появляются только на мгновение, а затем исчезают после нажатия на кнопку избранного. Я вижу, что список вспыхивает, а затем уходит. Вся другая (не любимая) информация GIST также исчезает, хотя она не допускается. Может ли кто-нибудь указать мне в правильном направлении? Мне не разрешено использовать JQuery. Полный код здесь: http://pastebin.com/ic0juq9nДобавление ответа API на HTML-страницу - Исчезновение

Critical код ниже: (! REQ). Невозможно создать HttpRequest ' вар GetData = функция (URL) { если { бросок; }

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); 
    } 

    } 

ответ

0

Убедитесь, если вы используете формы, форма тег имеет атрибут действия!