먼저 Form 전송을 하기 전에 사전 작업을 해주면 편한 것이 있다.
body-parser 라는 라이브러리인데 설정해 두면 후에 post 방식으로 form 전송 시 훨씬 편하게 작업할 환경이 구축된다.
app.use(express.urlencoded({extended: false}));
app.use(express.json());
데이터를 URL의 뒤에 ?를 붙여 전달
전송량에 제한이 있고, 사용자에게 데이터가 노출됨. URL 형식에 맞는 인코딩 필요
예시(GET)
<form>
태그에 method="POST" 또는 method="GET"(기본값) 속성을 설정하여 사용할 수 있음.<form>
action 속성에 지정한 위치로 페이지를 이동<body>
<!-- GET 요청 -->
<div class="get">
GET 요청하기
<form method="get" action="/get">
<input type="text" name="name">
<input type="text" name="gender">
<button type="submit">전송</button>
<button type="reset">리셋</button>
</form>
</div>
=> input 값으로 홍길동, 남 을 입력해주면 다음과 같은 결과가 URL에 나타남.
=> localhost:8000/get?name=홍길동&gender=남
<!-- POST 요청 -->
<div class="post">
POST 요청하기
<form method="post" action="/post">
<input type="text" name="name">
<input type="text" name="gender">
<button type="submit">전송</button>
<button type="reset">리셋</button>
</form>
</div>
</body>
=> post는 URL에 개인 정보를 포함하지 않으므로 다음과 같이 나타남.
=> localhost:8000/post
app.get("/get", (req, res) => {
console.log(req.query);
});
app.post("/post", (req, res) => {
console.log(req.body);
});