【发布时间】:2019-08-29 13:30:07
【问题描述】:
我有一个调用 NodeJS API 的角度方法。我希望返回对象是一个具有布尔值主体类型的 HttpResponse,但它返回一个布尔值。我错过了什么?
输出(来自 Angular API 调用中的 console.log):true
预期:{statusCode:200, headers:..., body: true}
Angular API 调用
this.lsvc.login(login,pwd).subscribe((x:HttpResponse<boolean>)=>{
console.log(JSON.stringify(x))
if(x) //<--------expected to need x.body
alert('login success')
else
alert('login failed')
})
Angular 服务(调用 JS API)
public login(user,pwd): Observable<HttpResponse<boolean>> {
console.log('login: '+user+' '+pwd)
return this.httpClient.post<HttpResponse<boolean>>(this.lambdaUrl+'login',{"email":user,"password":pwd}).pipe(
catchError(this.handleError)
);
}
NodeJS API:
'use strict';
module.exports.login = async event => {
try{
var obj=JSON.parse(event.body);
if(obj.email=='xx' && obj.password=='xxxx')
return {statusCode: 200, headers: {'Access-Control-Allow-Origin': '*'},body: JSON.stringify(true)};
return {statusCode: 200, headers: {'Access-Control-Allow-Origin': '*'},body: JSON.stringify(false)};
}
catch(e)
{
return {statusCode: 500, headers: {'Access-Control-Allow-Origin': '*'},body: JSON.stringify(e)+''};
}
};
【问题讨论】:
标签: angular httpresponse