2016-11-23 6 views
-1

ich meine Daten aus einem Formular in localstorage in folgendem Format an Speicherung:alle Objekte anzeigen, die in localstorage auf eine Webseite

ein Benutzer jedes Mal in localstorage
Object {title: "dsadasds", dueDate: "dsadasdsa", summary: "dsadadas", body: "dasdasdas"} 
Object {title: "dasdadsa", dueDate: "dasdasdadasda", summary: "dsadasdasd", body: "dasdasdas"} 

Diese Daten werden gespeichert das Formular abschickt. Jetzt auf einer anderen Seite 'localhost: 3000/notes' möchte ich alle diese Objekte anzeigen, die in localStorage gespeichert sind. Derzeit mit dem folgenden Code zeigt es nur das letzte Objekt an.

 var form = $('#form'), 
     formTitle = $('#title'), 
     formDueDate = $('#dueDate'), 
     formSummary = $('#summary'), 
     formBody = $('#body'); 

     var title = formTitle.val(); 
     var dueDate = formDueDate.val(); 
     var summary = formSummary.val(); 
     var body = formBody.val(); 
     var newContent2 = $('#new-content2') 

     var test = {}; 
     test = { 
      title: title, 
      dueDate: dueDate, 
      summary: summary, 
      body: body 
     } 

     localStorage.setItem('test', JSON.stringify(test)); 
     var LocalStoredData = JSON.parse(localStorage.getItem('test')); 
     console.log(LocalStoredData); 

     //for retrieving data from locastorage 
     var retrievedData = localStorage.getItem('test'); 
     var text = JSON.parse(retrievedData); 
     var showTitle = text["title"]; 
     var showDueDate= text["dueDate"]; 
     var showSummary = text["summary"]; 
     var showBody = text["body"]; 

     $('#showTitle').html(showTitle); 
     $('#showDueDate').html(showDueDate); 
     $('#showSummary').html(showSummary); 
     $('#showBody').html(showBody); 

Ich muss Schleifenmulde alle Objekte (oder einen anderen Mechanismus) alle Objekte aus local extrahieren und sie in geeigneten div auf der Webseite angezeigt werden. Ich habe versucht, den Retrieval-Code in die Schleife zu setzen:

for(var i=0;i<localStorage.length;i++) 

aber mit dieser Schleife zeigt es nichts. Wie kann ich alle in meinem localStorage vorhandenen Objekte anzeigen?

+0

Localstorage ist ein Schlüssel-Wert-Speicher. Unter welchen Schlüsseln speichern Sie Ihre Objekte? Haben Sie darüber nachgedacht, nur einen Schlüssel zu verwenden und eine ganze Reihe von Objekten darin zu speichern? –

Antwort

1

Sie suchen

for (var i=0; i<localStorage.length; i++) { 
    var key = localStorage.key(i); 
    var item = localStorage.getItem(key); 
    try { 
     item = JSON.parse(item); 
    } catch(e) { 
     console.log(key+" is not in JSON format"); 
    } 
    … 
} 
0

können Sie auch alle Inhalte von Localstorage leicht erhalten mit Object.keys:

Object.keys(localStorage).forEach(key => { 
    console.log(key, localStorage.getItem(key)) 
}) 
+0

Das wird Ihnen auch den '.length' Schlüssel geben – Bergi

Verwandte Themen