Mau*_*zzo 12 http-status-codes typescript angular2-services angular
我需要获取以下http调用的状态代码并将其作为字符串返回
//This method must return the status of the http response
confirmEmail(mailToken):Observable<String>{
return this.http.get(this.baseUrl+"users/activate?mailToken="+mailToken)
.map(this.extractData)
.catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
FRE*_*CIA 22
添加Angular> = 4.3(包括7)版本的答案HttpClient,替换为newhttp
import {HttpClientModule} from '@angular/common/http'; // Notice it is imported from @angular/common/http instead of @angular/http
Run Code Online (Sandbox Code Playgroud)
如何获取响应代码或任何其他标头:
http.get(
`${this.baseUrl}users/activate?mailToken=${mailToken}`,
{observe: 'response'}
)
.subscribe(response => {
// You can access status:
console.log(response.status);
// Or any other header:
console.log(response.headers.get('X-Custom-Header'));
});
Run Code Online (Sandbox Code Playgroud)
只需将您的代码修改为以下内容即可将responseStatus存储在字段中:
responseStatus: number;
//This method must return the status of the http response
confirmEmail(mailToken):Observable<String> {
//Edited for working with HttpClient on Angular >= 4.3
return this.http.get(this.baseUrl+"users/activate?mailToken="+mailToken, {observe: 'response'})
.map((response: Response) => {
this.responseStatus = response.status;
return this.extractData(response);
}
.catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)
然后将其显示在组件HTML模板中:
<p class='responseStatus'>{{responseStatus}}</p>
Run Code Online (Sandbox Code Playgroud)
这是代码:
http.get(
'${this.baseUrl}users/activate?mailToken=${mailToken}',
{observe: 'response'}
).subscribe(response => {
}, error => {
// You can access status:
console.log(error.status);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码调用subscribe()实例的方法,然后在error通知中获取状态。
| 归档时间: |
|
| 查看次数: |
35800 次 |
| 最近记录: |