@Bck2

Unexpected token o in JSON at position 1?

Есть приложение где используется angular2-token. Проблема в том что аутентификация не куда не записывается и после обновления страницы она напросто пропадает. Из-за это было добавлен localStorage, но на теперь в консоль появляется ошибка синтаксиса:

ERROR SyntaxError: Unexpected token o in JSON at position 1
Unhandled Promise rejection: Unexpected token o in JSON at position 1 ; Zone: <root> ; Task: Promise.then ; Value: SyntaxError: Unexpected token o in JSON at position 1


Как можно это исправить?

import { Injectable } from '@angular/core';
import {Angular2TokenService} from 'angular2-token';
import { Response} from '@angular/http';
import {Subject} from 'rxjs/Subject';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';


@Injectable()
export class AuthService {
    public token: string;
  userSignedIn$:Subject<boolean> = new Subject();

  constructor(private authService:Angular2TokenService) {
    this.userSignedIn$.next(this.authService.userSignedIn());
    var currentUser = JSON.parse(localStorage.getItem('currentUser'));
    this.token = currentUser && currentUser.token;
  }

  logOutUser():Observable<Response>{

    return this.authService.signOut().map(
        res => {
            this.token = null;
            localStorage.removeItem('currentUser');
          this.userSignedIn$.next(false);
          return res;
        }
    );
  }

  logInUser(signInData: {email:string, password:string}):Observable<Response>{
    return this.authService.signIn(signInData).map(
        res => {
          localStorage.setItem("currentUser", signInData.toString());
          this.userSignedIn$.next(true);
          return res
        }
    );
}
  
   registerUser(signUpData:  {email:string, password:string, passwordConfirmation:string}):Observable<Response>{
    return this.authService.registerAccount(signUpData).map(
        res => {
          localStorage.setItem("currentUser", signUpData.toString());
          this.userSignedIn$.next(true);
          return res
        }
    );
  }

}
  • Вопрос задан
  • 285 просмотров
Пригласить эксперта
Ответы на вопрос 2
megafax
@megafax
web-программист
localStorage.getItem('currentUser') что у Вас возвращает? видимо невалидный JSON проверьте этот момент
Ответ написан
@forspamonly2
парсер жсона так ругается на строчку "undefined". на нули и пустые строки он реагирует по-другому
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы