我有一段代码完美无缺,直到最新的Angular 2更新。除其他外,它使用Http请求&可观测量。
我更新到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 :(得分:1)
所有角度RC版本都依赖于相同的rxjs 5.0.0 beta 6,所以我认为你正在寻找错误的方向。你的代码虽然闻到了我的味道。在一个create函数里面调用http?你的http响应有一个可观察的,为什么你试图创建自己的observable?如果你需要映射你的对象使用地图