更新用户详细信息MEAN堆栈

时间:2018-04-24 02:01:29

标签: node.js angular express angular5

我坚持更新用户个人资料,我已经尝试了Can't update user with PUT Request in Angular 2上的解决方案,但它似乎没有用,也许它从我面前开始,但我似乎无法弄明白

在我的auth.service.ts上我有这个

updateDetails(id) {
   let headers = new Headers();
   this.loadToken();
   headers.append('Authorization', this.authToken);
   headers.append('Content-Type', 'application/json');
   return this.http.put('http://localhost:3000/api/admin/' + id, this.user { headers: headers })
  .map(res => res.json());
}

然后在client-edit.component.ts上我有

updateUser(id) {
   this.authService.updateDetails(id).subscribe(res => {
   this.router.navigate(['/client-details', id]);
   }, (err) => {
  console.log(err);
})

user.js文件有

router.put('/admin/:id', function(req, res, next) {
   User.findByIdAndUpdate(req.params.id, req.body, function (err, post) {
      if (err) return next(err);
      res.json(post);
   });
});

最后,client-edit.component.html有

<form (ngSubmit)="updateUser(user._id)"
......
...

任何人都可以看到我出错的地方,我在控制台中没有出现任何错误,我可以在终端中看到put请求似乎正在通过,但是当我检查它时不会更新所有。

对此有任何见解我会非常感激。

亲切的问候, - P

1 个答案:

答案 0 :(得分:0)

试试这个,

 return this.http.put('http://localhost:3000/api/admin/' + id, JSON.stringify(this.user), { headers: headers })