2017-10-17 13 views
1

J'essaie d'enregistrer des données dans localStorage. mais chaque fois que je rafraichis la page de nouvelles données écrasent sur des données plus anciennes et j'ai perdu mes vieilles données.Comment arrêter l'écrasement de données dans localStorage

function testshod() { 
    localStorage.setItem("hash", JSON.stringify(testblockchain)); 
    document.getElementById("result").innerHTML = 
    localStorage.getItem("hash"); 
    } 

stocker mes données comme ce code. cela fonctionne correctement, mais quand je rafraîchis les données de la page ont disparu.
p.s. testblockchain est une classe.

+1

Chaque fois que vous actualisez votre page, la fonction 'testshod' est appelée, c'est pourquoi vos données sont remplacées. Vous pouvez essayer d'utiliser la condition 'if' pour vérifier si vous avez déjà des données dans votre' localStorage' et si 'true' ne le définissez pas, mais ne le récupérez qu'à la place. – Krusader

+0

vérifiez d'abord si vous avez déjà quelque chose dans localStorage et écrivez si localStorage est vide –

+0

quel navigateur utilisez-vous? aussi vous ne vérifiez pas les données avant d'écrire – Mudassar

Répondre

2

Vous devriez vérifier s'il y a déjà une valeur dans localStorage

function testshod() { 
    if (!localStorage.getItem("hash")) { 
     localStorage.setItem("hash", JSON.stringify(testblockchain)); 
    } 
    document.getElementById("result").innerHTML = localStorage.getItem("hash"); 
} 

Si vous souhaitez renouveler le hachage après un temps donné, vous devez également enregistrer la dernière fois mis à jour dans le localStorage et vérifier aussi.