본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JavaScript/Node.js

request.on 'data'와 'end': POST 요청/응답처리

일반적으로 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');
    }