반응형
1. Get 데이터 받기
express 객체의 get 메소드를 사용해야 한다.
const express = require('express')
const app = express()
app.get('/get_test', function(req,res){
var id = req.query.id;
var password = req.query.password;
res.send(`your id is ${id} and your password is ${password}`);
})
app.listen(3000, ()=>console.log('Example app listening on port 3000!'))
req.query는 querystring을 받는다.
결과
2. Post 데이터 받기
express 객체의 post 메소드를 사용해야 한다.
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
app.use(bodyParser.json()) // parse application/json
app.use(bodyParser.urlencoded({extended: false})) // parse application/x-www-form-urlencoded
app.post('/post_test', function(req,res){
var id = req.body.id;
var password = req.body.password;
res.send(`your id is ${id} and your password is ${password}`);
})
app.listen(3000, ()=>console.log('Example app listening on port 3000!'))
req.body는 XML, Multi Form, JSON 등의 데이터를 받는다.
req.body를 사용하기 위해 body-parser이라는 미들웨어로 데이터를 파싱했다.
그리고, express의 use() 메소드는 미들웨어 함수를 로드 시켜주는 역할을 한다.
결과
post 방식으로 데이터를 전송하기 위해 html 파일을 다음과 같이 생성했다.
<!doctype html>
<html>
<head>
<title>send</title>
</head>
<body>
<form action="http://localhost:3000/post_test" method="POST">
<input type="text" name="id">
<input type="password" name="password">
<input type="submit" value="전송">
</form>
</body>
</html>
Post 데이터도 성공적으로 전달 받았다.
3. 동적 URL 처리
URL에 변수를 포함해야 할 때는 변수 앞에 ":"를 붙이면 된다.
const express = require('express')
const app = express()
app.get('/user/:id', function(req,res){
res.send(req.params);
})
app.listen(3000, ()=>console.log('Example app listening on port 3000!'))
req.params는 주소에 포함된 변수를 받는다.
결과
4. 정리
- req.params : 주소에 포함된 변수를 받음
- req.query : URI의 querystring을 받음
- req.body : XML, Multi Form, JSON 등의 데이터를 받음
반응형
'Node.js > Express' 카테고리의 다른 글
[Express] 예제로 Router 쉽게 이해하기 (0) | 2021.07.29 |
---|---|
[Express] 에러 처리 (0) | 2021.07.29 |
[Express] Compression / app.use() / 정적 파일 (0) | 2021.07.28 |
[Express] View 처리 (0) | 2021.07.27 |
[Express] Express 소개 / starter 프로젝트 생성 (0) | 2021.07.25 |
댓글