글 같은걸 작성할 때
관습적으로 POST 요청을 쓴다고 한다.
app.post('/add', function(req, res){
res.send('전송완료');
});
여기에서 /add는 자기가 정한 경로이다.
POST요청으로 서버에 데이터를 전송하고 싶으면
body-parser 라이브러리를 설치한다.
터미널에 npm install body-parser
그리고 server.js 상단에 아래 코드 추가
// server.js
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended : true}));
(그냥 문법이니 외워서 쓰자)
간단한 폼을 만들어서 테스트 해본다
//write.html
<form action="/add" method="POST">
<div class="form-group">
<label for="todo">Todo</label>
<input type="text" id="todo" class="form-control" name="title">
</div>
<div class="form-group">
<label for="dday">Due date</label>
<input type="text" id="dday" class="form-control" name="date">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
body-parser 라이브러리 설치 이후 테스트 해보면
// server.js
app.post('/add', function(req, res){
res.send('전송완료');
console.log(req.body);
});
인풋창에 입력한 값이 콘솔에 아래와 같이 찍히게 된다.
{ title: 'name이 title인 인풋의 value', date: 'name이 date인 인풋의 value' }
원하는 정보만 뽑아서 쓸 때
//server.js
app.post('/add', function(req, res){
res.send('전송완료');
console.log(req.body.title); // 요청의 body에 있는 이름이 title 이라는 인풋의 값
console.log(req.body.date);
});
콘솔에 값만 나오게 된다.
'WEB' 카테고리의 다른 글
Node.js로 웹서비스 만들기 6일차 (0) | 2023.02.08 |
---|---|
Node.js로 웹서비스 만들기 5일차 (0) | 2023.02.06 |
Node.js로 웹서비스 만들기 4일차 (0) | 2023.02.03 |
Node.js로 웹서비스 만들기 2일차 (0) | 2023.02.02 |
Node.js로 웹서비스 만들기 1일차 (0) | 2023.02.01 |