개발

[NodeJS] POST 요청 받기/응답

마스터누누 2017. 4. 18. 18:05
728x90
반응형

POST 요청 받기/응답




1
2
3
4
<form action="/send_email" method="post">
      email:<input type="text" name="email"><br>                                                              
      보내기:<input type="submit">
</form>
cs


get은 데이터를 보낼때 길이에 제한이 있고, 보안에 취약하다는 단점이있다

따라서 public/form.html의 코드 중 method를  post로 변경해보자.






post 방식은 get과 다르게 url에 데이터가 전송되지않으므로

req.param으로 데이터를 가져올 수 없다.

따라서 body-parser를 사용해야하는데, express 와 마찬가지로 

npm에서 제공하는 모듈이므로 install --save하여 설치해준다.




1
2
3
var bodyParser = require('body-parser');                                                                     
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended : true}));
cs


설치 완료 후 위와 같이 body-parser를 사용하겠다고

app.js 내부에 명시해 준다.




1
2
3
4
5
app.post('/send_email'function(req,res){
  console.log("email :", req.body.email);                                                                    
  res.send("<h1>WELCOME<h1>");
});
 
cs


이후에 app.post '/send_email' 의 라우팅을 해준다.

그리고 데이터를 얻기 위해서는 req.body.'데이터이름'을 사용한다


결국 라우팅 처리 부분에서 req.body객체를 이용해서 

데이터에 접근 할수있다는 것이 결론이다.






form양식에 email을 넣어서 제출을 클릭한다 






콘솔창에 post방식으로 데이터 값을 받아온다.

 



반응형