dev/node.js

node.js 웹사이트 개발 - express, get, post

코딩for 2020. 10. 5. 09:14
반응형

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

 

 

반응형