クライアント側にフォームとボタンがあり、ユーザーがフォームに入力したデータをサーバーに送信したいと思います。サーバーには、データをデータベースに保存するリクエストハンドラーがあり、データベースからクライアントに送信されます。
これを行うにはどうすればよいですか?ロジックについて混乱しています。ボディパーサーの使用、ヘッダーの役割、その場合のリクエストオプションがあると思います。その解決策を見つけましたが、やみくもに実装していません。理解した上で自分のやり方でやりたい
クライアント側で:
let headers: Headers = new Headers();
headers.append('Content-Type', 'application/json');
let opts: RequestOptions = new RequestOptions();
opts.headers = headers;
this.http.post(
'http://localhost:3000/addStudent',
JSON.stringify(obj),
opts
).subscribe((res: Response) => {
console.log(res.json())
setTimeout(() => {
this.students = res.json();
}, 3000)
})
サーバー側:
app.post('/addStudent',function(req,res) {
var newStudent = new StudentModel(req.body);
console.log(req.body);
newStudent.save();
StudentModel.find(function(err,data) {
if(err) res.send(err)
else res.json(data)
})