我使用 Angular 4 和 Nodejs 创建了小型测试应用程序。我想将一个文本字段值插入数据库Mongo或mysql 以下文件我创建 server.js 以运行 nodejs ,创建服务器>路由器文件夹,其他文件 api.js 和Angular 4 用户组件已创建。 我做了什么代码如下所示
user.component.html
<form (submit)="addHobby(hobbies,hobby.value)">
<input type="text" #hobby>
<input type="submit" value="Submit">
</form>
user.component.ts
addHobby(arrHob,hobby) {
if(arrHob.indexOf(hobby) == -1) {
this.hobbies.unshift(hobby);
this.dataService.postHobby(hobby).subscribe((posts) => {
console.log(posts);
})
}
return false;
}
服务文件夹包含 data.service.ts
postHobby(hobby) {
return this.http.post('/api/insertHobby',hobby).map(res => res.json().data);
}
服务器路由器文件夹包含 api.js
router.post('/insertHobby', (req, res) => {
console.log("Welcome to post method");
console.log(req.body.data);
})
表单提交时我只输出欢迎发布方法
req.body.data我得到*'Undefined'*
如何解决此问题。感谢所有人..
答案 0 :(得分:1)
因为您没有将变量作为对象传递,所以需要以对象格式传递它,如下所示:
postHobby(hobby) {
return this.http.post('/api/insertHobby',{hobby: hobby}).map(res => res.json().data);
}