我坚持更新用户个人资料,我已经尝试了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
答案 0 :(得分:0)
试试这个,
return this.http.put('http://localhost:3000/api/admin/' + id, JSON.stringify(this.user), { headers: headers })