Angular 如何在注册过程中发生错误时访问注册api中的错误响应
我通过web api注册了一个用户 在postman中,如果任何输入字段中存在错误,则响应如下Angular 如何在注册过程中发生错误时访问注册api中的错误响应,angular,Angular,我通过web api注册了一个用户 在postman中,如果任何输入字段中存在错误,则响应如下 { "error": { "phone": [ "The phone field is required." ] } } 在服务文件中 constructor(private http: HttpClient) { } registerUser(user: any) { return this.http.post(
{
"error": {
"phone": [
"The phone field is required."
]
}
}
在服务文件中
constructor(private http: HttpClient) { }
registerUser(user: any) {
return this.http.post(this.registerUrl, user)
}
}
在ts文件中
constructor(private reg: AuthService) { }
registered: boolean = false;
const user = {
first_name: e.controls.first_name.value,
last_name: e.controls.last_name.value,
phone: e.controls.phone.value,
};
this.registered = this.reg.registerUser(user) ? true : false;
要将它们用于表单验证和确认检查,请了解如果用户注册成功,如何获取错误字段和成功令牌,因为如果用户注册成功,postman将显示成功令牌。这是一个post请求,而不是get请求,因此可以获取这些值。httpClient post请求返回一个可观察值 此registerUser方法返回可观察,因为所有httpClient方法都返回:
registerUser(user: any): Observable<any> {
return this.http.post(this.registerUrl, user)
}
const user = {
first_name: e.controls.first_name.value,
last_name: e.controls.last_name.value,
phone: e.controls.phone.value,
};
this.reg.registerUser(user).subscribe(
(res) => {
this.registered = res === true ? true : false;
// you should be more specific in how api response look like
},
(err) => {
console.log(err); // or do whatever you want with the error
}
);