꿈꾸는 시스템 디자이너

Node.js에서 form을 이용한 데이터 Post 방법 본문

Web Service/Node.js

Node.js에서 form을 이용한 데이터 Post 방법

독행소년 2017. 6. 15. 15:11

1. 웹페이지에서(ejs 사용 중)

 <form class="form-inline" action="store" method="post">

      <input type="hidden" value="<%=A%>" name="A">

      <input type="hidden" value="<%=B%>" name="B">

      <input type="hidden" value="<%=C%>" name="C">

      <input type="hidden" value="<%=JSON.stringify(D)%>" name="D">

      <button class="btn btn-primary btn-sm">Confirm</button>

 </form>

form 태그에 method 항목에 post라 정의하면 input 데이터들이 request 메시지의 body 항목에 포함되어 전송된다.

만약 전송할 input 데이터 중에 자바스크립트 객체(javascript object) 배열이 포함된다면 JSON.stringfy 함수를 통해 String으로 변경해야 한다. 그렇지 않으면 서버에서 수신된 아규먼트가 object object로만 표기되어 사용할 수 없다.


2. Node.js 서버에서(Route 모듈 사용 중)

exports.post_store = (req, res) => {

   const A = req.body.A;

   const B = req.body.B;

   const C= req.body.C;

   const D= JSON.parse(req.body.D);


   // 이하 생략

};

post로 수신된 데이터는 req.body를 이용해서 파싱하여 사용할 수 있다.

웹페이지에서 JSON.stringify 처리한 배열을 다시 JSON.parse 처리를 하면 JSON 배열로 변경되어 사용할 수 있다.

Comments