Я не могу получить заголовок пользовательского ответа в перехватчике, когда я его консоль. консоль зарегистрировала перехватчик httpResponse
'Ответ журнала консоли' '
HttpResponse {заголовки: HttpHeaders, состояние: 200, statusText: "OK", хорошо: true,…}
HttpHeaders lazyInit: ƒ () lazyUpdate: null normalizedNames: Map (0) {} proto : Объект в порядке: true status: 200 statusText:" OK"type: 4
Мы также добавили Access-control-expose-header на стороне сервера.Тем не менее я не получаю ответ.Не уверен, что я что-то пропустил в методе перехватчика.
Метод перехватчика
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
req = req.clone({
setHeaders: {
'Accept': 'application/vnd.employee.tonguestun.com; version=1',
'Content-Type': 'application/json',
}
});
return next.handle(req)
.do((ev: HttpEvent<any>) => {
console.log(ev)
if (ev instanceof HttpResponse) {
console.log(ev.headers);
}
// return ev;
})
}
Перехват перехватчика
Пользовательский заголовок на вкладке сети
учетные данные контроля доступа: истина
методы контроля доступа: GET, POST, OPTIONS
источник доступа контроля доступа: *
access-control-expose-headers: access-token, client, expiry, token-type, uid
access-token: haIXZmNWSdKJqN2by7JH1g
контроль кэша: max-age = 0частный, необходимо подтвердить заново
клиент: j_2dxD7NVMjGeX8BbBuELA
тип содержимого: application / json;charset = utf-8
срок действия: 1525931943
получение пользовательских заголовков на вкладке сети
Также это мой сервисный вызов, добавлено наблюдение "ответ"в вызове тоже.
Сервисный звонок
return this.http.post(`${environment.baseUrl}${environment.signup}`, data, {observe: "response"})
.map(response => response);
Сервисный звонок
AppModule.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpClientModule } from '@angular/common/http';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { AppInterceptor } from './services/app-interceptor.service';
import { HomeModule } from './home/home.module';
import { SharedModule } from './shared/shared.module';
import { AppRoutingModule } from './app-routing.module';
import { AuthService } from './services/auth.service';
import { AuthGuardService } from './services/auth-guard.service';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
CommonModule,
HttpClientModule,
BrowserAnimationsModule,
HomeModule,
SharedModule,
AppRoutingModule,
],
providers: [
AuthService,
AuthGuardService,
{
provide: HTTP_INTERCEPTORS,
useClass: AppInterceptor,
multi: true
},
],
bootstrap: [AppComponent]
})
export class AppModule { }
Помогите мне, пожалуйста.Заранее спасибо!