[NodeJS] - app.post() : POST 방식을 위한 body-parser 미들웨어
NodeJS2018. 11. 10. 13:29
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
○ 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'); }); |
'NodeJS' 카테고리의 다른 글
[NodeJS] - express에서 정적인 파일을 제공(이미지, css, js 등) (0) | 2018.11.10 |
---|---|
[NodeJS] - 대용량 처리를 깔끔하게 하기위한 compression 미들웨어 (0) | 2018.11.10 |
[NodeJS] - 라우터(Router) 분리하기(매우 중요) (1) | 2018.11.09 |
[NodeJS] - 프로젝트 생성 시 npm init 과 express 설치 (0) | 2018.11.08 |
[NodeJS] - VSCode 사용 (자주 사용하는 개발 툴) (0) | 2018.11.08 |
댓글()