Angular 2 - 从 Http 请求中获取 Headers
Angular 2 - Get Headers From Http Requests
我的所有后端 API 请求 return headers 中的新令牌信息,即使它们抛出异常。在下一个请求中,我需要发送这些新的令牌信息。
所以我想找出一种独特的标准方法来做到这一点,所以我正在尝试:
let requestOptions = new RequestOptions(Object.assign({
method: method,
url: environment.apiHost + url,
body: body,
headers: authenticatedRequest ? this.requestService.getAuthHeaders() : this.requestService.getJsonHeaders(),
withCredentials: authenticatedRequest
}));
this.http.request(new Request(requestOptions))
.map((res:Response) => { this.storageService.setAuthInfo(res.headers); res.json() } )
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
我面临的问题是,当我 subscribe
使用此方法时,res
变量 returning undefined
.
你有什么建议?
问题是您必须 return 响应 res.json()
明确地从您的 map
函数中使用 {}
。
this.http.request(new Request(requestOptions))
.map((res:Response) => {
this.storageService.setAuthInfo(res.headers);
return res.json();
} )
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
相似
我的所有后端 API 请求 return headers 中的新令牌信息,即使它们抛出异常。在下一个请求中,我需要发送这些新的令牌信息。
所以我想找出一种独特的标准方法来做到这一点,所以我正在尝试:
let requestOptions = new RequestOptions(Object.assign({
method: method,
url: environment.apiHost + url,
body: body,
headers: authenticatedRequest ? this.requestService.getAuthHeaders() : this.requestService.getJsonHeaders(),
withCredentials: authenticatedRequest
}));
this.http.request(new Request(requestOptions))
.map((res:Response) => { this.storageService.setAuthInfo(res.headers); res.json() } )
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
我面临的问题是,当我 subscribe
使用此方法时,res
变量 returning undefined
.
你有什么建议?
问题是您必须 return 响应 res.json()
明确地从您的 map
函数中使用 {}
。
this.http.request(new Request(requestOptions))
.map((res:Response) => {
this.storageService.setAuthInfo(res.headers);
return res.json();
} )
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
相似