NodeJS
[NodeJS] - app.post() : POST 방식을 위한 body-parser 미들웨어
Riucc
2018. 11. 10. 13:29
○ app.post() : POST 방식을 위한 body-parser 미들웨어 |
express 에서 app.post() 즉 post 방식으로 데이터를 전송 시 처리하는 방법이 바로 'body-parser' 미들웨어이다 설치> npm install body-parser var bodyParser = require('body-parser'); // 사용자가 요청 시 form 데이터는 아래를 사용 app.use(bodyParser.urlencoded({extend : false})); // 사용자가 요청 시 json 방식은 아래를 사용 app.use(bodyParser.json()); // form.ejs (form.html 로 만든 후 ejs로 이름 변경 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="/form_receiver" method="post"> <p><input type="text" name="title"></p> <p><textarea name="desc"></textarea></p> <button type="submit">전송</button> </form> </body> </html> // main.js var express = require('express'); var app = express(); // ejs 파일 불러와서 보여주기 위한 var ejs = require('ejs'); app.set("views", __dirname); // ejs 파일 가져올 폴더 지정(프로젝트명) 및 ejs 관련 설정 app.set("view engine", "ejs"); app.engine("ejs", ejs.renderFile); // post 방식 데이터 처리 위한 body-Parser, form 데이터 처리 var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: false })); app.get('/form', function(req, res){ res.render('form.ejs'); // ejs(html)파일 보여줄 때 이렇게 render() 사용 }); app.post('/form_receiver', function(req, res){ var title = req.body.title; // 이렇게 요청한 데이터를 받아온다 req.body.form에서의 name var desc = req.body.desc; res.send("제목 : " + title + "\n" + "내용 : " + desc); // 사용자에게 지정한 값을 응답해줌 }); app.listen(3000, function(){ console.log('Listening on Port 3000'); }); |