1. POST 방식을 이용한 정보의 전달 1
GET
서버에게 정보를 요청해서 가져오는 방식.
POST
사용자의 정보를 서버로 전송할 때 사용하는 방식.
2. POST 방식을 이용한 정보의 전달 2 : form
html
head
meta(charset='utf-8')
body
form(action="/form_receiver" method='post')
p
input(type="text" name='title')
p
textarea(name='description')
p
input(type='submit')
* jade에서 태그의 속성을 추가하고 싶을 때는 괄호를 이용
GET방식으로 정보를 보내면, 쿼리 스트링이 생성된다.
app.get('/form_receiver', function(req, res){
var title = req.query.title;
var description = req.query.description;
res.send(title + ', ' + description);
})
- form 태그의 method 값은 default가 get
- post로 바꾸고 submit 하면 Cannot POST /form_receiver 에러 뜸.
- post 방식이면 url로 데이터를 전송하지 않고 다른 방법을 이용하기 때문.
3. POST 방식을 이용한 정보의 전달 3 : POST
req.body 객체 이용.
-> 기본적으로는 undefined 되어 있기 때문에 미들웨어가 필요하다. -> body-parser 이용
var bodyParser = require('body-parser');
// 모든 요청은 bodyParser 를 통과 후 router에게 전달됨.
app.use(bodyParser.urlencoded({extended: false}));
app.post('/form_receiver', function(req, res){
var title = req.body.title;
var description = req.body.description;
res.send(title + ', ' + description);
})
4. POST 방식을 이용한 정보의 전달 4 : GET과 POST 용도
- URL 상에 정보가 표시되면 안 될때, POST 방식을 사용한다.
- URL에 굉장히 긴 정보를 전달하려하면, 정보의 drop 이 발생할 수 있기 때문에 POST 방식을 사용한다.