2016-07-07 2 views
2

У меня есть фрагмент кода, который отлично работал до последнего обновления Angular 2. Среди прочего, он использует запросы Http & Observables.Угловой 2 RC4 RxJS Crash

Я обновлен до RC4, импортировать все RxJS операторы (чтобы убедиться, что он работает), и я получаю ошибку: SecurityError: DOM Exception 18

Любая идея, почему и как я могу это исправить?

упрощенный фрагмент кода:

logIn(email: string, pass: string): Observable<boolean> { 
    return Observable.create((observer: Observer<boolean>) => { 
    let body = { 
     email: email, 
     pass: pass 
    }; 

    this.http.post(this.origin + "/auth/logIn", JSON.stringify(body), this.requestArguments()) 
     .subscribe((res: Response) => { 
     observer.next(res.json()["isLoggedIn"]); 
     observer.complete(); 
     }) 
    }) 
} 

Где

this.origin = window.location.origin + "/api" 

Жутко:

Safari бросает исключение

Chrome не делает, но страница, кажется, застревают

Firefox работает правильно.

И все это спорадическое. Иногда это работает, иногда это не так.

+0

DOMS Exception 18 в основном потому, что вы не используете его с сервера localhost. Поместите его на localhost вместо прямого открытия. –

+0

Он находится на локальном хосте, обслуживается через узел – BAndonovski

+0

Взгляните на это сообщение - http://tosbourn.com/a-fix-for-window-location-origin-in-internet-explorer/ – Sanket

ответ

1

Все угловые версии RC зависят от того же rxjs 5.0.0 beta 6, поэтому я думаю, что вы смотрите в неправильном направлении. ваш код, хотя запахи притягиваются ко мне. http-вызов внутри функции создания? ваш HTTP-ответ держится наблюдаемым, почему вы пытаетесь создать свое собственное наблюдаемое? если вам нужно нанести на карту карту вашего объекта

Смежные вопросы