2017-06-02 2 views
0
var mara = [{"name":"zach", "age":"27"}];  
var marathon2 = [{"ticketDetails" : [mara]}]; 
localStorage.setItem("ticket_marathon2",JSON.stringify($scope.ticket_marathon2));  
var details2 = JSON.parse(localStorage.getItem("ticket_marathon2"));  
console.log("data2",details2); 
+0

Was funktioniert nicht, wenn überhaupt? Gibt es einen Fehler in Ihrer Konsole? – Kaiido

+0

Was ist das Problem? sieht aus, als ob Sie Mathe zu Ihrem Modell – Sabik

+0

@sabik, wenn ich dies Array auf "ticketDetails" ausführen: [mara] ist richtig, aber wenn ich n LocalStorage speichern die Daten gegangen –

Antwort

0

Sie var mara = [{"name":"zach", "age":"27"}]; haben - mit einem Objekt als Array definiert.

Danach: var marathon2 = [{"ticketDetails" : [mara]}];

besagt, dass "ticketDetails" ist ein Array mit einem Array innerhalb ergibt:

[{ "ticketDetails": [[{ "name": "zach" .... }]]}]?

Vielleicht entfernen [], es sei denn, es ist beabsichtigt.

Eine andere Sache, versuchen Sie, mara Array auch zu stringieren, bevor Sie es als Wert des Objekts hinzufügen und alles zusammen string.

0

Versuchen Sie folgendes:

var mara = [{"name":"zach", "age":"27"}]; 
var marathon2 = [{"ticketDetails" : mara}]; 

localStorage.setItem("ticket_marathon2",JSON.stringify(marathon2)); 

var details2 = JSON.parse(localStorage.getItem("ticket_marathon2")); 

alert(JSON.stringify(details2[0].ticketDetails[0].name)); 
+0

hat nicht funktioniert Ich versuche bereits –

+0

haben Sie "$ localStorage" in den Controller injiziert? –

+0

das Array erscheint auf der ersten Konsole, aber es ist weg, wenn die zweite Konsole, so kann ich davon ausgehen, dass es nicht richtig in localstorage gespeichert –

0
localStorage.setItem("ticket_marathon1", angular.toJson($scope.ticket_marathon1)); 

var details1 = angular.fromJson(localStorage.getItem("ticket_marathon1")); 

Hinweis: Sie brauchen nicht local seine eine Standard-html5 Speicher $ zu injizieren.

+0

überprüfen, ohne '$ localStorage' in den Controller zu injizieren, ist es nicht möglich. –

+0

@SantoshJadi überprüfen Sie diese Geige https://jsfiddle.net/akgx7Lqu/82/ – talha

+0

@zach dies ist https://stackoverflow.com/questions/3357553/how-do-i-store-an-array-in -localstorage – talha

0

können Sie

$window.localStorage.setItem("ticket_marathon1",angular.toJson($scope.ticket_marathon1)) 

speichern verwenden, var details1 =angular.fromJson($window.localStorage.getItem("ticket_marathon1")) abrufen und $window.localStorage.removeItem("ticket_marathon1") remove.Then Sie die Werte in einer beliebigen Seite zugreifen können und es ist flexibler.

Hinweis: $ Fenster in Ihrem Controller Injizieren

+0

sorry @Vivz es hat nicht funktioniert ich vermisse immer noch mein Array in "ticketDetails": [mara], –

+0

Können Sie versuchen, es explizit wie $ window.localStorage zu speichern .setItem ("mara", angular.toJson ($ scope.ticket_marathon1.ticketDetails)) und sehen, ob es funktioniert – Vivz

+0

SyntaxError: Unerwartetes Token u in JSON an der Position "Ich habe diesen Fehler" –

Verwandte Themen