스터디📖/Node.js

[nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기 - 섹션 8. Express, POST 방식을 이용한 정보의 전달

호프 2022. 2. 3. 23:14

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 방식을 사용한다.