반응형

◎ POST 또는 GET 을 사용하는 이유

▼ 내용

post 는 데이터의 crud 중 cud를 할경우는 무조건 post

select 만 할경운 get 방식으로 해도 상관없다


◎ FORM 데이터 받기 (POST)

var qs = require('querystring'); var app = http.createServer(function(request,response){ var body = ''; request.on('data',function (data){ //request 데이터 body += data; if (body.length > ie6){ //ie 6 은 숫자 request.connection.destroy(); // 접속끊는 함수 } }); request.on('end',function(){ //data가 끝낫을경우 end var post= qs.parse(body); //body 를 쿼리스트링으로 형식바꿈 console.log(post); // queryString 출력 }) response.writeHead(302, {Location: `/?id=${}`}); //요청한 주소로 리다이렉션 response.end('sucess'); });

▼ 내용

request.on('data',function(data){ 는

request로 들어온 데이터를 콜백함수의 data 인자값으로 일정 기준으로 조각내서 넣어준다는 뜻입니다. 조각을 내서 넣어주기때문에 전부 다 받으려고 body += data 를 넣어줍니다.

request.connection.destroy(); 는 접속을 끊는 함수입니다. 위에 if문 조건은

데이터가 일정 크기 이상 들어올경우 접속을 끊는 함수를 사용한겁니다.

request.on('end',function(){ 은 request 데이터를 다 받고나서 작동한다.

body 에 request 받은 모든데이터를 querystring 형식으로 바꿔서 다시 post로 담음

form 데이터 출력형식


◎ URL 데이터 받기 (GET)

//요청이 http://localhost:3000/?id=ohayo 일경우 var url = require('url'); var app = http.createServer(function(request,response){ var _url = request.url; // ?id=ohayo var queryData = url.parse(_url,true).query; // { id: 'ohayo' } var title = queryData.id; // ohayo });

▼ 내용

request 객체에서 url 을 뽑은다음 require('url').parse(리퀘url,true) 를 뽑으면 아래와같이 나온다.

즉 url 에서 ? 앞전꺼 제거한 뒤에 붙은 데이터 get 방식을 객체화 시키는 방법이다.



반응형

+ Recent posts