Сбой Angular 2 RC4 RxJS

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

Я обновился до 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 не работает, но страница зависает

Фаерфокс работает корректно.

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


person BAndonovski    schedule 07.07.2016    source источник
comment
Исключение DOMS 18 в основном связано с тем, что вы не используете его с локального сервера. Поместите его на локальный хост вместо прямого открытия.   -  person Pirate X    schedule 07.07.2016
comment
Он находится на локальном хосте, обслуживается через узел   -  person BAndonovski    schedule 07.07.2016
comment
Взгляните на этот пост — tosbourn.com/   -  person Sanket    schedule 13.07.2016
comment
Ваш браузер Safari настроен на прием файлов cookie?   -  person Manube    schedule 13.07.2016
comment
Вы можете опубликовать свой package.json здесь?   -  person pd farhad    schedule 14.07.2016
comment
Можете ли вы предоставить более подробную информацию? с вашим package.json?   -  person pd farhad    schedule 15.07.2016
comment
Пожалуйста, опубликуйте трассировку стека   -  person kemsky    schedule 17.07.2016
comment
Не могли бы вы попробовать использовать угловое окно ( $window ) вместо прямого объекта окна ( this.origin = $window.location.origin + /api )   -  person Indra Uprade    schedule 19.07.2016


Ответы (1)


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

person Avi    schedule 16.07.2016