Я придерживаюсь этого руководства по стеку MEAN, но застрял при отправке данных с помощью формы. Я могу читать значения, поэтому запрос get работает, но публикация, похоже, не работает, хотя я могу регистрировать отправленные данные в службе Angular. Код:
HTML
<form (ngSubmit)="addUser()">
<input class="form-control" [(ngModel)]="user.name" name="name">
<input type="submit" class="btn btn-danger">
</form>
<ul *ngFor="let user of users">
<li>{{user.name}}</li>
</ul>
TS:
users: Users[];
user: Users = {
id: null,
name: null
};
constructor(private dataService: DataService) { }
ngOnInit() {
this.getUsers();
}
getUsers() {
this.dataService.getUsers().subscribe(data=> {
this.users = data as unknown as Users[];
console.log(data);
});
}
addUser() {
this.dataService.addUser(this.user);
}
Сервис:
getUsers(): Observable<Users> {
return this.http.get<Users>(this.baseURL);
}
addUser(user: Users){
console.log(user);
return this.http.post(this.baseURL, user, {
headers: new HttpHeaders({
'Content-Type': 'aplication/json'
})
});
}
Метод записи в BackENd:
router.post('/', (req, res) => {
var emp = new Employee({
name: req.body.name,
});
emp.save((err, doc) => {
if (!err) { res.send(doc); }
else { console.log('Error in Employee Save :' + JSON.stringify(err, undefined, 2)); }
});
});