Próbuję konsoli.logować token dodany do localstorage. Oto kod:
ngOnInit(){
console.log("Member Info: ", JSON.parse(localStorage.getItem("LOCAL_TOKEN_KEY")));
}
Wydaje mi się to właściwe, ale po uruchomieniu pojawia się następujący błąd.
Error: Uncaught (in promise): SyntaxError: Unexpected token o in JSON at position 1
SyntaxError: Unexpected token o in JSON at position 1
Czy ktoś widzi w tym coś złego?
Odpowiedzi:
2 dla odpowiedzi № 1Wierzę, że dzieje się tak, ponieważ Twoje dane są już Obiektem i nie trzeba ich ponownie analizować.
Po prostu spróbuj tego:
console.log("Member Info: ", localStorage.getItem("LOCAL_TOKEN_KEY"));
Uncaught SyntaxError: nieoczekiwany token w JSON na pozycji 1
Jest typowym błędem JavaScript, gdy próbujesz parsować obiekt JSON jako element, który jest już obiektem JSON.
Aktualizacja:
Wydaje się, że masz problemy z zapisywaniem w LocalStorage, więc proszę bardzo!
// To save to LocalStorage
localStorage.setItem("LOCAL_TOKEN_KEY", JSON.stringify({
testData: 123
}));
// To read from LocalStorage
console.log(JSON.parse(localStorage.getItem("LOCAL_TOKEN_KEY")));
Aby wyczyścić LocalStorage:
Naciśnij klawisz F12 w przeglądarce (w przeglądarce Chrome), przejdź do karty Aplikacja, otwórz kartę LocalStorage i wybierz nazwę aplikacji. Znajdziesz tam swój LocalStorage, usuń go.
1 dla odpowiedzi nr 2
Zmodyfikuj token przed zapisaniem w pamięci lokalnej.
localStorage.setItem("LOCAL_TOKEN_KEY", JSON.stringify({"aa": "bb"}));
let token = localStorage.getItem("LOCAL_TOKEN_KEY");
JSON.parse(token);
0 dla odpowiedzi № 3
możesz także spróbować przekształcić obiekt JSON w ciąg:
console.log("Member Info: ", JSON.stringify(localStorage.getItem("LOCAL_TOKEN_KEY")));