如何检查angular2中的响应对象中是否存在键?
How to check if a key exists in a response object in angular2?
我在通过 angular2 提交数据后从服务器获取数据。这是我的 submitPost 代码:-
submitPost()
{
this._adminLogin.postAdminLogin(this.adminLoginmodel).subscribe(
data => {
this.responseStatus = data;
if(this.responseStatus.status == 1)
{
this.router.navigate(['admin/dashboard'])
}
else
{
alert('Login Error');
}
},
err => {
console.log(err)
},
() => {}
);
this.status = true;
}
这是我得到的响应结构:-
For Error: {"status":0,"message":"An error occured while logging in","error":""}
For Success: {"status":1,"message":"Login Success","error":""}
但是,这个 LoC 引起了一些麻烦:-
if(this.responseStatus.status == 1)
从命令行按 ng serve --host
到 运行 项目时,编译失败。这是我收到的消息:-
我该如何解决这个问题?
您可以创建 any
类型的 data
对象或为 data
设置适当的类型。设置 any
只会关闭编译器检查它。
.subscribe((data: any) =>
或
.subscribe((data: MyResponse) =>
其中 MyResponse
类似于
interface MyResponse {
status: number;
message: string;
}
我在通过 angular2 提交数据后从服务器获取数据。这是我的 submitPost 代码:-
submitPost()
{
this._adminLogin.postAdminLogin(this.adminLoginmodel).subscribe(
data => {
this.responseStatus = data;
if(this.responseStatus.status == 1)
{
this.router.navigate(['admin/dashboard'])
}
else
{
alert('Login Error');
}
},
err => {
console.log(err)
},
() => {}
);
this.status = true;
}
这是我得到的响应结构:-
For Error: {"status":0,"message":"An error occured while logging in","error":""}
For Success: {"status":1,"message":"Login Success","error":""}
但是,这个 LoC 引起了一些麻烦:-
if(this.responseStatus.status == 1)
从命令行按 ng serve --host
到 运行 项目时,编译失败。这是我收到的消息:-
我该如何解决这个问题?
您可以创建 any
类型的 data
对象或为 data
设置适当的类型。设置 any
只会关闭编译器检查它。
.subscribe((data: any) =>
或
.subscribe((data: MyResponse) =>
其中 MyResponse
类似于
interface MyResponse {
status: number;
message: string;
}