POST request에서 데이터를 읽는 것은 Node.js에서 약간 복잡합니다.
첫 번째 단계로 들어오는 data를 listen을 합니다.
여기서 한가지 트릭은 data가 끝날 때까지 기다려야 하는 것입니다. 그래야 데이터를 잃지 않고 처리할 수 있기 때문입니다.
다음은 예제 샘플입니다.
예제 소스.
var http = require('http');
var postHTML =
'<html><head><title>Post Example</title></head>' +
'<body>' +
'<form method="post">' +
'Input 1: <input name="input1"><br>' +
'Input 2: <input name="input2"><br>' +
'<input type="submit">' +
'</form>' +
'</body></html>';
http.createServer(function (req, res) {
var body = "";
req.on('data', function (chunk) {
body += chunk;
});
req.on('end', function () {
console.log('POSTed: ' + body);
res.writeHead(200);
res.end(postHTML);
});
}).listen(8080);
postHTML 변수는 2개의 입력 상자와 submit 상자를 포함하고 있는 static string 입니다.
그다음 서버를 만들구요 request를 listen하게됩니다. 여기서 req.on('data') 메소드를 사용하여 POST 데이터가 들어오면 chunk를 사용하여 데이터를 body 변수에 저장해둡니다.
더이상 데이터가 들어오지 않는다면 end 이벤트가 실행될 것이고 그래서 req.on('end' 가 실행됩니다.
그 후 데이터를 console에 뿌려주고, response에 보내게 됩니다. response에 보낸다는 것은 HTML화면을 보여준다는 의미구요.
출처 : https://docs.nodejitsu.com/articles/HTTP/servers/how-to-read-POST-data
'프로그래밍 > Node.js' 카테고리의 다른 글
Node.js - socket.io api 간단 설명 (펌자료) (0) | 2015.01.10 |
---|---|
Node.js - req.files이 동작을 안할때 - express (0) | 2015.01.06 |
Node.js - response.end 한글 깨짐 현상 해결법 (0) | 2015.01.05 |
Node.js - HTML 페이지에서 입력받고 MYSQL 에 데이터 추가하기 (1) | 2015.01.03 |
Node.js - URL별로 다른 HTML 페이지 제공하기 (0) | 2015.01.02 |
Node.js - Location 속성을 이용한 페이지 강제 이동 시키기 (0) | 2015.01.02 |
Node.js - 포트2개를 사용한 이미지와 음악파일 서버 만들기 (0) | 2015.01.02 |
Node.js - File System 모듈을 이용한 HTML 페이지 제공 (0) | 2015.01.02 |