Ionic 2 Express呼叫无法响应用户更新功能

时间:2016-10-23 23:33:38

标签: javascript node.js express typescript ionic2

我目前正在尝试让我的Ionic 2程序在调用时更新用户字段,在我的user-service.ts文件中我有以下代码:

     // Update a user
update(user: User): Observable<User> {
let url = `${this.usersUrl}/${user._id}`;
let body = JSON.stringify(user);
let headers = new Headers({'Content-Type': 'application/json'});
console.log(url, body);
return this.http.put(url, body, {headers: headers})
                .map(() => user) //See mdn.io/arrowfunctions
                .catch(this.handleError);
}

当我调用它时,server.js文件应运行以下命令:

// PUT: update a todo by id
app.put("/api/users/:id", function(req, res) {
console.log('test');
var updateUser = req.body;
delete updateUser._id;

db.collection("users").updateOne({_id: new ObjectID(req.params.id)}, updateUser, function(err, doc) {
if (err) {
  handleError(res, err.message, "Failed to update user");
} else {
  res.status(204).end();
}
});
});
复制和粘贴时,在user-service.ts文件中的我的console.log正确调用该函数并显示测试消息,但这并不能自行完成。任何建议将不胜感激。感谢

1 个答案:

答案 0 :(得分:0)

问题似乎是您需要订阅update来电。

例如:

userService.update(myUser).subscribe((response:any) => {
    //Do something with the response.
});