본문 바로가기

WebApp/Node.js

Node.js-form2

예제1

 

 

예제2

 

목표 : post방식으로 전송받은 데이터를 nodejs로 어떻게 가져올 것인가

검색 : nodejs post data

 

http.createserver는 nodejs로 웹브라우져가 접속이

들어올 때마다 createserver의 콜백함수function(request, responce){};를 nodejs가 호출한다

그때의 콜백함수의 인자를 2개를 주는데 request에는 요청할때 웹브라우져가 보낸 정보(위 예제1에서 68번째 줄인 form형식 안에 입력한 Yoon, yeovion의 post내부정보)

responce는 응답할때 우리가 웹브라우져에게 전송할 정보(위 예제2의 표시되는 정보)

 

request.on의 data는 웹브라우져가 post방식으로 데이터를 전송할떄 데이터가 엄청 많으면 그 데이터를 한번에 처리하다가는 프로그램이 꺼지든가 하는 컴퓨터가 무리가 가는 문제가 생길 수 있다 그래서 node.js에서는 post방식으로

전송된 정보가 많을 경우를 대비해서 어떤 특정한 양 예를 들면 100의 데이터가 있으면 그 데이터의 조각조각의 양들을 서버쪽에서 수신하고 그 때마다  서버는 옆의 콜백함수function(data){body = body + data}를 호출하도록 약속되어있으며  그리고 그 콜백함수를 호출할때 데이터라는 인자를 통해서 수신할 정보를 주기로 약속되어있음

(결과값에 같은 결과값을 계속해서 더할때는 var i=0;, i= i+1 과 같은 이유로 문자의 초기값을 "으로 줌)

(예제 1의 경우 body ="; , body = body + data)

 

그리고 들어올 정보가 없으면 end 옆의 콜백함수function(){var post = qs.parse(body)}를 호출되도록 약속되어있음

qs require이라는 모듈을 통해 그 모듈이 가지고 있는 parse라는 함수에다가 

지금까지 저장한 body를 입력값으로 주면 post데이터의 post 정보가 객체형식으로 들어있을 것이다

즉 우리는 데이터와 엔드라는 이벤트를 이용해서 웹브라우져로부터 포스트방식으로

전송된 데이터를 가져올수있고 그리고 parse라는 함수를 이용해서 그 정보를 객체화

할 수 있는 것이다

 

 

 

 

 

 

'WebApp > Node.js' 카테고리의 다른 글

Node.js-updata화면 만들기  (0) 2020.08.10
Node.js-fs.writeFile&redirectio  (0) 2020.08.07
Node.js- form UI 생성  (0) 2020.08.04
Node.js- form  (0) 2020.08.04
Node.js-npm(pm2) Package program  (0) 2020.08.03