Express-POST 방식을 이용한 정보의 전달
Node 에서 정보를 전송할 때 , 어떤 방식으로 보내는지 알아 보겠다.
크게 Post와 get 방식이 있다.
코드를 보면서 바로 확인해 본다 .
Form.jade
doctype html
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')
간단하게 , form.jade라는 파일을 만들어 준다.
어떠한 정보를 전송할 때는 form이 사용되며 , 데이터가 존재하는 집(home)이라고 생각하면 쉽다.
이 form은 사용자에게 보여지는 부분이며 , 사용자가 입력을 할 수 있는 공간이기도 하다 .
사용자가 입력한 텍스트 or 데이터를 어디론가 보내고 싶을 때 ,
Action 을 사용한다 .
Action 뒤에 method = ‘post’ or ‘get’ 을 사용해서 보내는 방식을 지정할 수 있다.
그렇다면 , form.jade에서 전송을 하게 되는 form_receiver 는 우리의 메인 앱 애플리케이션에서 어떻게 받아서 처리를 할 수 있을까?
먼저 , 기본적으로 Expressjs는 get은 지원하지만 post는 지원하지 않는다 .
그렇기 때문에
// post 방식에 필요한 body-parser 로딩
// 미들웨어
var bodyParser = require('body-parser');
미들웨어인 bodyParser를 설치하고 로딩해야 한다.
그런뒤 ,
app.use(bodyParser.urlencoded({ extended: false}))
// 제일 앞쪽에서 bodyParser가 대기하고 있다가 , 사용자가 post 방식으로
// 접근할 때 사용할 수 있도록 도와주는 모듈
위 코드를 삽입하여서 , 사용자가 Post방식으로 접근을 할 때 ,
위 코드가 Post방식으로 처리를 해준다 .
app.post('/form_receiver', function(req,res)
{
var title = req.body.title;
var description = req.body.description;
res.send(title + ',' + description);
res.send('Hello, Post Method ')
// body 라는 객체를 쓰기 위해서는 body-Parser가 필요하다 .
})
그런뒤 , 위코드에서 app.post로써 post방식으로 전송되어진 데이터를 처리해준다.
특이점은 req.body 로써 넘어온 데이터를 처리한다는 것이다.
위방식은 Post 방식이다 .
get방식을 알아보자 .
app.get('/form_receiver', function(req,res)
{
var title = req.query.title;
var description = req.query.description;
res.send('Hello, Get Method ')
res.send(title + ',' + description);
})
위 코드는 get 방식으로써 , 데이터를 받고 처리할 때 쓰인다.
post보다 간단해 보인다.
그렇다면 Post와 get을 언제 사용해야 할까? 이다 .
Post는 url 주소에 내가 넘겨주는 Parameter가 보이지 않는다 .
내부적으로 데이터가 왔다갔다 하는 것이다.
그런 반면에 get은 url 주소에 내가 넘겨주는 parameter값까지 다 보여준다.
예를 들어서 내가 인터넷에서 좋은 자료를 찾았다.
이 주소창을 다른 사용자에게 복사해서 주고싶다.
이 때 get을 보통 쓰면 좋을 것 이다
Post는 내가 특정 사이트에 로그인을 하는데 , 주소창에 나의 아이디와 패스워드가 보이면 보안상 큰 문제가 될 것이다 .
이 때 Post를 쓰면 좋을 것 이다.
아주 간단한 예제를 통해서 알아보았는데 , 일단은 그렇게만 알아두면 될 것 같다 .
'졸업작품_preparing.... > node_js' 카테고리의 다른 글
500 SyntaxError: Unexpected token (41:5) while using simple jade file (0) | 2019.03.02 |
---|---|
Nodejs를 자동으로 재시작 (0) | 2019.02.03 |
Express-쿼리스트링 & Semantic url (0) | 2019.02.02 |
Express- jade 설치 및 간단한 문법 사용법 (0) | 2019.02.02 |
Express-웹 페이지를 표현하는 방법 ( 정적 / 동적 ) (0) | 2019.02.02 |
#IT #먹방 #전자기기 #일상
#개발 #일상