2016-05-18 6 views
2

Ich mache eine Web-App: Frontend in Angular und Backend in Rails. In meinem Frontend speichere ich eine Variable auf localStorage und versuche, später zurück zu bekommen.Objekt wird nicht in JavaStream gefischt und geparst zurück

Hier ist eine Variable Ich rette:

var application = { 
       "id": 7, 
       "visa_type": "string" 
     } 

ich diese Variable auf local speichern Dann

localStorage.setItem("key", application); 

Nach dem Speichern ich diesen Wert zurück, localStorage.application, und ich "[object Object]"

so habe ich versucht, localStorage.application zu analysieren, aber es sagt

JSON.Parse,'Uncaught SyntaxError: Unexpected token o

Wie kann ich mein Objekt erfolgreich zurückgeben?

+1

'localStorage.setItem ("Schlüssel", JSON.stringify (Anwendung));' – MysterX

+0

lokale Speicher ein Schlüssel-Wert-Paar Speicher ist, wo beide Saite sind. – Avinash

+0

@MysterX danke! – JoHksi

Antwort

0

Ok, also im Grunde können Sie all dies automatisch mit dem cacheProvider von angular tun, ohne zusätzliche Logik zu schreiben.

Fügen Sie in Ihrer $ http-Anfrage einfach cache: true hinzu, und wenn Ihre Codelogik die Ressource erneut aufruft, wird vermieden, dass sie den Server trifft und stattdessen die zwischengespeicherten Ergebnisse liefert.

$http({ url : url, cache : true }).then(function(rs){}); 
0

ich es einfach notwendig, um stringify wie unten

localStorage.setItem("key", JSON.stringify(application)); 
Verwandte Themen