我一直坚持错误,我不确定如何解决。 我的应用程序是在Angular2中完成的,完全在一个webworker中运行,主要基于本教程http://www.syntaxsuccess.com/viewarticle/web-workers-in-angular-2.0
我的第一个功能是socket.io的一个实现,它完美地工作(也有observables等。)但是现在我想使用Angular2的Http服务,我得到以下错误:
我的服务代码是这样的,当我调用validateAccessToken时会出现错误(我必须在我的导入中添加.js,否则我会在webworker中获得404文件):
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from "@angular/http";
import { environment } from "../../../environments/environment.js";
import { Observable } from "rxjs/Observable.js";
import 'rxjs/add/operator/toPromise.js';
import 'rxjs/add/operator/map.js';
@Injectable()
export class AuthService {
headers: Headers;
options: RequestOptions;
url: string;
constructor(private http:Http) {
this.url = environment.authServerUrl;
}
validateAccessToken(token) {
return this.http.get(this.url)
.map(this.extractData)
.catch(this.handleError);
};
extractData(response: Response) {...}
handleError(error: any) {...}
}
我知道这个问题很模糊,但是根据我从错误中得到的信息,我不清楚出了什么问题。
答案 0 :(得分:1)
CookieXSRFStrategy默认由Angular2启用并由http使用。 webworker没有DOM访问权限,无法将cookie插入http标头中。因而抛出未实现的错误。
你应该实现自己的CookieXSRFStrategy策略,至少不会抛出此错误;)