[英]Read custom headers in angular2
我已经创建了.NET Core WebAPI,并且在每个请求中都将自定义标头添加到响应中。
context.Response.Headers.Add("X-Access-Token", newToken);
我还在服务器端加入了cors:
app.UseCors(config => config.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin());
我在Augular2端的每个请求都在过滤并尝试获取“ X-Access-Token”标头,但返回null。
getVehiclesReport(dateFrom: Date, dateTo: Date, loaderName): Observable<IVehiclesReport> {
return this.http.get(this.baseUrl + "report/vehicles/" + this.getQueryDate(dateFrom) + "/" + this.getQueryDate(dateTo), this.jsonHeadersAuth)
.map((response: Response) => this.mapResponse(response, response =><IVehiclesReport>response.json()))
.catch(this.handleError)
.finally(() => this.ajaxService.push(loaderName));
}
protected mapResponse<TResult>(response: Response, func : Func<Response, TResult>): TResult {
let token = response.headers.get("X-Access-Token");
//returns null
if(token && token != null && token != ''){
this.localStorageService.setJwtToken(token);
}
return func(response);
}
但是,我可以在开发人员选项/网络/响应标题中看到我的X-Access-Token。
有人面对这个问题吗?
谢谢大家,我刚刚想通了。 添加自定义标头时,我还需要添加“ Access-Control-Expose-Headers”。
灵魂:
context.Response.Headers.Add("X-Access-Token", newToken);
context.Response.Headers.Add("Access-Control-Expose-Headers", "X-Access-Token");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.