일반적으로 POST 요청을 처리할 때, 클라이언트가 데이터를 보내는 과정을 `'data'` 이벤트로 받고,
모든 데이터를 받은 후에 `'end'` 이벤트에서 데이터를 처리하거나 해당 요청에 대한 응답을 보낸다.
`request.on('data', function(data){})`와 `request.on('end', function(){})`는
Node.js의 HTTP 서버에서 요청 데이터를 처리하는 과정을 다루는 이벤트 핸들러
보통 HTTP POST 요청을 다룰 때 사용한다.
data 이벤트
클라이언트가 요청한 데이터를 전송하는 동안 발생
요청 본문의 데이터가 조각조각씩 도착하면서 `'data'` 이벤트가 여러 번 발생할 수 있다.
request.on('data', function(data) {
// 클라이언트가 요청한 데이터를 받으면 이 함수가 실행됩니다.
// 여기서는 데이터를 처리합니다.
});
end 이벤트
클라이언트가 요청을 완전히 보내고 데이터를 전송한 후 발생
데이터 수신이 완료되었을 때 추가적인 작업을 수행할 수 있다.
request.on('end', function() {
// 클라이언트가 요청을 완전히 보낸 후에 실행됩니다.
// 여기서는 데이터 수신이 완료된 후에 추가적인 작업을 수행할 수 있습니다.
});
아래는 main.js의 일부이다.
else if(pathname === '/create_process'){
var body = '';
request.on('data', function(data){
body = body + data;
});
request.on('end', function(){
var post = qs.parse(body);
var title = post.title;
var description = post.description;
console.log(post);
});
response.writeHead(200);
response.end('success');
} else {
response.writeHead(404);
response.end('Not found');
}
'JavaScript > Node.js' 카테고리의 다른 글
pm2 logs: console.log() 로그확인하기, require('fs') 로그 저장/기록 하기 (0) | 2024.02.14 |
---|---|
PM2 파일수정시 다시 시작하도록 : --watch (0) | 2024.02.14 |
pm2 monit, 실행프로젝트 모니터링 (0) | 2024.02.07 |
pm2 stop 노드프로젝트 스탑하기 (0) | 2024.02.07 |
보안 오류: (:) [], PSSecurityException (0) | 2024.02.07 |