【发布时间】:2018-01-31 09:03:25
【问题描述】:
在我的 Node.js 后端,我曾经在响应中添加一个布尔值来检查一切是否顺利:
if(req.body.user.username == null || req.body.user.username == '' || req.body.user.password == null || req.body.user.password == '' || req.body.user.email == null || req.body.user.email == ''){
res.json({success: false, message: 'Ensure username, email and password provided.'});
}else{
user.save((err) => {
if(err) {
res.json({success: false, message: 'Username or Email already exists.'});
}else{
res.json({success: true, message: 'User created!',user :user});
}
});
}
然后,像这样检查我前面的这个变量:
userRegister(body) {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this._http.post("/api/register", body, options).map((res: Response) => res.json())
}
register(){
//make JSON body
let body = JSON.stringify({"user" : this.registeredUser})
// Access the USER Service's Auth() method we defined
this._userService.userRegister(body).subscribe((res) => {
console.log(res);
if(res.success){
//gotoprofile
}
}
}
有人告诉我这是一种不好的做法,我可以改为获取响应状态代码。我不想使用 Observables 或 Promises,因为这意味着我必须再次实现每个请求。
我试图获得这样的状态:
return this._http.post("/api/register", body, options).map((res: Response, status) => res.json())
但它不起作用..
【问题讨论】:
标签: node.js angular httprequest