我有一个AuthService,它有一个函数登录,它订阅了http请求并返回一个promise,它解析为我从http请求获得的JSON数据。 从组件调用此函数,我调用.then()到console.log()收到的数据,但是,出乎意料的是,数据返回字符串" true"没有别的。
以下是我的代码中的相关摘要 -
auth.service.ts:
loginAPI(data) {
return new Promise((resolve, reject) => {
this.apiService.apiLogin(data).subscribe(
data => {
console.log(data);
resolve(data);
},
error => {
console.log(error);
reject();
}
)
});
}
login.component.ts:
login() {
if (this.loginForm.valid) {
this.authService.login(this.loginForm.value).then(data => {
if (data =! null) {
console.log("Session starting with data: "+data);
this.sessionService.start(data);
}
});
} else {
// do something
}
}
现在,在login.component.ts中,在函数login()中,我正在打印数据,但它只打印"会话以数据为真开始"应该在哪里打印JSON数据。
在函数loginAPI(data)中,数据是从另一个名为apiService的服务的HTTP调用中接收的,其中执行了http post。
然而,来自loginAPI(数据)函数的console.log(数据)正在正确打印JSON响应。这意味着数据正在从
正确接收那么,我哪里错了???
答案 0 :(得分:0)
答案 1 :(得分:0)
您在LoginComponent中的if语句中有拼写错误。你做了一个做作而不是比较。
在loginComponent中将if (data =! null) {
替换为if (data != null) {
。