기억 휘발 방지소

[Node.js] express.urlencoded는 뭘까? 본문

Web/Node.js

[Node.js] express.urlencoded는 뭘까?

choice91 2021. 9. 16. 22:39
728x90
반응형

📌 POST 요청 보내기

form(method="POST", action="/post/edit")
    input(name="title", placeholder="Title", required)
    input(value="Save", type="submit")

pug로 만든 간단한 form이다.

실행하면 아래처럼 나온다.

입력을 하고 Save버튼을 누르면 /post/edit으로 전송한다. (단, form으로 전송할 때에는 input에 반드시 name이 있어야한다)

 

console.log(req.body);  // undefined

콘솔로 찍어보면 undefined가 뜬다.

 

📌 urlencoded

app.js에서 라우터 위에 아래코드를 작성해주면 콘솔로 찍었을 때 브라우저에서 입력한 값을 제대로 나온다.

extended는 기본이 true이므로 적어줘도되고 안적어줘도된다.

app.use(express.urlencoded({ extended: true }));

그리고 다시 req.body를 콘솔에 출력하면 아래와 같은 결과가 나온다.

{ title: 'hello' }

 

urlencoded({ extended: true 혹은 false })에서

{ extended: true }일 경우, 객체 형태로 전달된 데이터 내에서 또 다른 중첩된 객체를 허용한다는 말이고

{ extended: false }일 경우, 허용하지 않는다는 의미이다.

또한 true이면 따로 설치가 필요한 npm qs 라이브러리를 이용하고 false이면 Node.js에 기본으로 내장된 queryString을 사용한다.

728x90
반응형

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

[Node.js] mongoDB Schema 생성  (0) 2021.09.18
[Node.js] mongoDB를 연결해보자  (0) 2021.09.17
[Node.js] Pug 설치 및 사용  (0) 2021.09.15
[Node.js] Router 사용하기  (0) 2021.09.15
[Node.js] Middleware  (0) 2021.09.14