괜찮아 잘하고있어 힘내

32. App 제작 - Post 방식으로 전송된 데이터 받기 본문

웹 개발/Node.js

32. App 제작 - Post 방식으로 전송된 데이터 받기

코오올라 2020. 12. 23. 23:28

변경내용: process_create   -> create_process

 

[nodejs post data]

※이해하기 어려우니 그냥 저렇게 써서 사용하면 되는구나 라고 넘어가면 됨. 자꾸 쓰면서 익숙해 지자.

 

 

80) create 링크를 클릭하고 텍스트 값을 입력한뒤 넘어가는 create_process 페이지 인지 검사하는 조건문

 

82) request -> createServer는 nodejs로 웹브라우저가 접속이 들어올때마다 createServer에 callback함수를 nodejs가 호출한다. 그때 저 함수에 인자를 두개를 준다. request에는 요청할때 웹브라우저가 보낸 정보, response는 응답할때 우리가 웹브라우저에게 전송할 정보들을 담고 있다. 사용자가 요청한 정보안에 post 정보가 있다.

 

82) requst.on('data') -> 웹브라우저가 post방식으로 데이터를 전송할 때 데이터가 엄청나게 많으면 그 데이터를 한번에 처리하다가는 프로그램이 꺼지거나 컴퓨터에 무리가 발생하는 문제가 발생한다. 그래서 nodejs에서는 post방식으로 전송되는 데이터가 많을경우를 대비해서 사용방법을 제공한다. 예를들어 100이 있으면 조각조각의 양들을 서버쪽에서 수신할때 마다 서버는 callback함수(" function(data) { } ")를 호출하도록 약속되어있다. 그것을 호출할 때 data라는 인자를 통해서 수신한 정보를 주기로 약속한다.

 

83) body 데이터에다 callback이 실행될 때마다 data를 추가해준다.

 

85) 더이상 들어올 정보가 없으면 'end' 다음의 callback 함수를 호출. 이 'end'에 해당되는 callback 함수가 실행됐을땐 정보 수신이 끝났다 라고 생각할 수 있다. 

 

1) qs가 'querystring'이라는 nodejs가 가지고 있는 모듈을 가져온다.

 

86) post는 qs(querystring)이라고 하는것에 그 모듈을 가지고 있는 함수 중에 parse라는 함수에다 지금까지 저장한 body를 입력값으로 주면 post데이터에 post 정보가 들어간다.

 

post를 콘솔에 출력한 결과
post.title을 콘솔에 출력한 결과
post.description을 콘솔에 출력한 결과

'data'와 'end'를 이벤트 라고한다. 저것을 이용해서 웹브라우저로부터 post 방식으로 전송된 데이터를 가져올 수 있고, querystring의 모듈인 parse 함수를 이용해서 정보를 전환할 수 있다.( 객체화 할 수 있다.)

Comments