Express에서 GET / POST 요청 받기
1. GET 요청
Get 요청을 위한 /public/mail.html 파일을 만듭니다.
<br>
<form name="form" method="GET" action="send">
Email : <input type="text" name="email">
<input type="submit" value="Submit">
</form>
public 디렉토리를 static 으로 지정하여 http://localhost:8001/mail.html 으로 접근이 가능합니다.
또는 라우팅을 등록하여 .http://localhost:8001/mail 로 접근도 가능합니다.
app.get("/mail", function(req,res){
res.sendFile(path.join(__dirname , "/public/mail.html"));
})
응답을 받을 get 에대한 라우팅 "/send" 코드를 입력합니다.
app.get("/send", function(req,res){
var email = req.query.email; res.send(email);
})
app.get("/send" 으로 "/send" 요청에 대하여 get인 경우 처리합니다.
전달되는 파라미터 "email" 은 query request 의 query 라는 객체에 담겨 전달됩니다.
email 입력후 submit 을 하면 get으로 전송합니다.
2. POST 요청
form 의 method 를 "post" 로 변경합니다.
<br>
<form name="form" method="POST" action="send">
Email : <input type="text" name="email">
<input type="submit" value="Submit">
</form>
post 요청에대한 라우팅 코드를 입력합니다.
app.post("/send", function(req,res){
var email = req.body.email; res.send(email);
})
post 전송은 request 데이터의 body 에 담겨오게 되며 post 데이터에 대한 처리를 하기 위해서는 "body-parser"라는 npm 모듈이 필요합니다.
npm install body-parser --save
모듈 설치 후 require 하여 모듈을 이용할수 있습니다.
var bodyparser = require("body-parser");
노드서버 재시작 후 다시전송을 하면 body 데이터를 받을 수 있습니다.
req.body에 POST 데이터가 담기며 name 데이터에 접근합니다.
<관련글>
2020/11/25 - [dev/node.js] - node.js 웹사이트 맨땅 개발하기 - 웹사이트 레이아웃, express-ejs-layouts
2020/11/24 - [dev/node.js] - node.js 웹사이트 맨땅 개발하기 - express, EJS
2020/10/05 - [dev/node.js] - node.js 웹사이트 맨땅 개발하기 - express, get, post
2020/10/05 - [dev/node.js] - node.js 웹사이트 맨땅 개발하기 - express, static
2020/09/29 - [dev/node.js] - node.js 웹사이트 맨땅 개발하기 - express.js
'dev > node.js' 카테고리의 다른 글
node.js 웹사이트 개발 - module (0) | 2020.10.09 |
---|---|
node.js 웹사이트 개발 - database 연동(mariadb, mysql) (0) | 2020.10.08 |
node.js 웹사이트 개발 - express, static (0) | 2020.10.05 |
node.js 웹사이트 개발 - express.js (0) | 2020.09.29 |
node.js 웹사이트 개발 - 개발환경 세팅 (0) | 2020.09.29 |