В моем компоненте в моей функции onInit()
у меня есть вызов, чтобы перечислить некоторые данные. Этот вызов выполняется службой Permission.service с использованием следующего кода.
ngOnInit() {
this.listPermissions();
}
listPermissions(): void {
this.permissionService.getPermissions().subscribe(
res=>{
this.permissionList=res;
}
)
}
Однако он выдает следующий журнал ошибок:
core. js : 1673 ОШИБКА TypeError: Невозможно прочитать свойство 'length' с неопределенным значением в http. js: 108 в Array.forEach () в HttpHeaders.lazyInit (http. js: 102) в HttpHeaders.pu sh .. / node_modules/@angular/common/fesm5/http.js.HttpHeaders.init (http. js: 166) по адресу HttpHeaders.pu sh .. / node_modules/@angular/common/fesm5/http.js .HttpHeaders.forEach (http. js: 235) в Observable._subscribe (http. js: 1445) в Observable.pu sh .. / node_modules / rxjs / _esm5 / internal / Observable. js .Observable._trySubscribe (Observable. js: 43) в Observable.pu sh .. / node_modules / rxjs / _esm5 / internal / Observable. js .Observable.subscribe (Наблюдаемый. js: 29) в subscribeTo. js: 21 at subscribeToResult (subscribeToResult. js: 11)
При использовании отладчика chrome заголовок "x-access-token" возвращает неопределенное значение ред значение. Однако, вызывая другую службу с точно таким же кодом, за исключением имени службы, она работает просто отлично.
export class PermissionsService {
constructor(private http: HttpClient, private loginService: LoginService, private globalService: GlobalsService) {}
httpOptions = {
headers: new HttpHeaders({
"Content-Type": "application/json",
"x-access-token": this.loginService.userInfo
})
};
getPermissions(): Observable<any[]> {
return this.http.get<any[]>(
this.globalService.API_PATH + "readAllPermissions",
this.httpOptions
);
}
...
и ниже - служба, которая не работает:
export class RolePermissionService {
constructor(private http: HttpClient, private loginService: LoginService, private globalService: GlobalsService) { }
httpOptions = {
headers: new HttpHeaders({
"Content-Type": "application/json",
"x-access-token": this.loginService.userInfo
})
};
getPermissions(): Observable<any[]> {
return this.http.get<any[]>(
this.globalService.API_PATH + "readAllPermissions",
this.httpOptions
);
}
Переменная userInfo устанавливается в функции входа в систему перед попыткой доступа к компоненту.