访问Modelstate错误-Asp.Net Web API身份-Angular 6-Http发布请求

时间:2018-06-30 20:23:58

标签: angular asp.net-web-api angular6

我正在发布一个POST请求,以将新的用户详细信息注册到ASP.NET Web API身份-单个用户身份验证帐户,并且运行良好,但是如果用户名已经存在,则它将在ModelState中返回错误响应机构如下。我想通过console.log()来访问该错误。

{"Message":"The request is invalid.","ModelState":{"":["Name a@a.a is already taken.","Email 'a@a.a' is already taken."]}}

在Angular应用中=>

this.http.post('http://localhost:57310/api/account/register', {password, confirmPassword, email})
.subscribe(data => {console.log(data);this.router.navigate(['/login'])},
(err:HttpErrorResponse)=>console.log(--?--));

我应该用什么代替-?-

更新1:

我尝试了JSON.stringify(err.error.ModelState),但它提供了

{"":["Name a@a.a is already taken.","Email 'a@a.a' is already taken."]}

但我只想要

"Name a@a.a is already taken.","Email 'a@a.a' is already taken."

2 个答案:

答案 0 :(得分:1)

如果您仅对获取错误消息的详细信息感兴趣,请使用:

computer prog
data mining
oops concept

查看其属性和值。

答案 1 :(得分:0)

如果JSON.stringify(err.error.ModelState)提供了{"":["My Error."]}

然后JSON.stringify(err.error.ModelState[""]["0"])提供My Error.