본문 바로가기

컴퓨터/NodeJS

NodeJS 클라이언트에게서 정보 전달 받기

[GET 방식으로 받기]

1. 쿼리스트링 파라미터로 받기

클라이언트에서 GET 방식으로 정보를 보낼 때는 아래와 같이 주소창을 통해서 전달한다.

http://test.co.kr/?id=hello&pw=world

* 라우터 모듈 작성

app/routes$ vi info.js
//외부 모듈 추출
const express = require("express");
const router = express.Router();

//페이지 라우트
router.get('/', function(req, res) {
  let name = req.query.name;
  let age = req.query.age;
  res.send("이름: "+name+" 나이: "+age);
});

//info.js 를 main.js 에 모듈로 내보낸다.
exports.router = router;

[POST 방식으로 받기]

  클라이언트에서 POST 방식으로 전달하면 주소창에 파라미터가 표시되지 않는 특징이 있다.

app$ vi main.js
...
app.use(express.json());
app.use(express.urlencoded({extended: true}));
...

파서가 읽을 수 있는 데이터 허용치의 기본값음 100kb 이다. 이를 넘어서는 데이터가 전달되면 「PayloadTooLaregError: request entity too large」 오류가 발생한다. 그러면 아래와 같이 설정할 수 있다.

...
app.use(express.json({ limit: "50mb" })); //혹은 bodyParser.json()
app.use(express.urlencoded({ extended: true, limit:"50mb" }));
...

 

app/routes$ vi info.js
//외부 모듈 추출
const express = require("express");
const router = express.Router();

//페이지 라우트
router.get('/', function(req, res) {
  let name = req.body.name;
  let age = req.body.age;
  res.send("이름: "+name+" 나이: "+age);
});

//info.js 를 main.js 에 모듈로 내보낸다.
exports.router = router;

 

'컴퓨터 > NodeJS' 카테고리의 다른 글

023. SSL 인증받기  (0) 2021.12.01
NodeJS EJS  (0) 2021.11.06
서버사이드 와 데이터베이스 연결 (선택: NodeJS, Mariadb)  (0) 2021.10.31
NodeJS 라우팅 모듈화  (0) 2021.10.28
011. 정적 자료 제공  (0) 2021.10.28