์ฟผ๋ฆฌ์คํธ๋ง
http://a.com/topic?id=1
protocol / domain / path / query string
์ฟผ๋ฆฌ์คํธ๋ง์ ๋ฐ๋ผ ๊ฐ์ path์์๋ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค
app.get('/topic', function(req, res){
let topics = [
'Javascript is...',
'Nodejs is...',
'Express is...'
];
let str = `
<a href="topic?id=0">JavaScript</a><br>
<a href="topic?id=1">Nodejs</a><br>
<a href="topic?id=2">Express</a><br>
`
let output = str + topics[req.query.id];
res.send(output);
});
aํ๊ทธ๋ฅผ ์ด์ฉํด์ ์ฟผ๋ฆฌ์คํธ๋ง์ ๋ฐ๊ฟ์ค๋ค
app.get('/topic',function(req, res){
let topics = [
'javascript is...',
'nodejs is...',
'express is...'
];
let output = `
<a href="/topic?id=0">JavaScript</a><br>
<a href="/topic?id=1">Nodejs</a><br>
<a href="/topic?id=2">Express</a><br>
${topics[req.query.id]}
`
res.send(output);
})
์ด๋ฐ ์์ผ๋ก๋ ๋ํ๋ผ ์ ์์
app.get('/topic',function(req, res){
res.send(req.query.id);
})
์ด ์ฝ๋๋ id๋ผ๋ property์ ๊ฐ์ด ์ถ๋ ฅ๋๋ค!
app.get('/topic',function(req, res){
res.send(req.query.id+','+req.query.name);
})
http://localhost:3000/topic?id=2&name=์ด๋ฆ
์ด๋ฐ ์์ผ๋ก ์ฌ๋ฌ property๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค
์๋ฉํฑ URL
app.get('/topic/:id',function(req, res){
let topics = [
'javascript is...',
'nodejs is...',
'express is...'
];
let output = `
<a href="/topic/0">JavaScript</a><br>
<a href="/topic/1">Nodejs</a><br>
<a href="/topic/2">Express</a><br>
${topics[req.params.id]}
`
res.send(output);
})
์๋ฉํฑ URL์ด๋ ์ฟผ๋ฆฌ์คํธ๋ง๊ณผ ๋ค๋ฅด๊ฒ ์ฒ์๋ถํฐ id๋ฅผ ๋ฐ์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๋ ค์ฃผ๊ณ /๋ฅผ ํตํด ๊ตฌ๋ถํ๋ค
app.get('/topic/:id/:mode', function(req,res){
res.send(req.params.id+','+req.params.mode);
})
์ด๋ ๊ฒ ์ฌ๋ฌ ์ ๋ณด๋ฅผ ๋ฐ์ ์ ์๋ค
GET & POST
GET ๋ฐฉ์: ์ด๋ค ์ ๋ณด๋ฅผ ์๋ฒ์๊ฒ ์์ฒญํด์ ๊ฐ์ ธ์ด (URL์ ์ ๋ณด ํฌํจ)
POST ๋ฐฉ์: ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์๋ฒ์๊ฒ ์ ์ก
*get ๋ฐฉ์
app.get('/form',function(req, res){
res.render('form');
})
์ด๋ ๊ฒ form.pug ํ์ผ์ ์ฐ๊ฒฐํด ์ค ํ
doctype html
html
head
meta(charset='utf-8')
body
form(action='form_receiver')
p
input(type='text' name='title')
p
textarea( name='description')
p
input(type='submit')
form.pug ํ์ผ์ ์์ฑํด์ค๋ค
์ฌ๊ธฐ์ form ํ๊ทธ๋ ์๋ก์ด URL์ ์์ฑํด์ฃผ๋ ์์ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ์๊ฐํด๋ ์ข๋ค
action ๋ค์ form_receiver๋ฅผ ์จ์ฃผ๋ฉด http://localhost:3000/form_receiver?title=hello&description=world ์ด๋ฐ ํ์ด์ง๊ฐ ์์ฑ๋๋ค
form.pug์์ text์ ์ด๋ฆ์ title๋ก, textarea์ ์ด๋ฆ์ description์ผ๋ก ์ง์ ํด์ฃผ์๊ธฐ ๋๋ฌธ์ http://localhost:3000/form_receiver?title=hello&description=world ์ด๋ฌํ URL์ด ์์ฑ๋๊ฒ ๋๋ค
app.get('/form_receiver', function(req, res){
let title = req.query.title;
let description = req.query.description;
res.send(title+', '+description);
})
/form_receiver์ ๋ผ์ฐํฐ๋ฅผ ์ด๋ ๊ฒ ์จ์ค๋ค
์ด๋ form ํ๊ทธ method์ ๊ธฐ๋ณธ ์์ฑ์ผ๋ก get์ผ๋ก ์ง์ ๋์ด ์๊ณ ๋ค์ get ๋ฐฉ์์ผ๋ก ์ง์ ํด์ค ์๋ ์๋ค
doctype html
html
head
meta(charset='utf-8')
body
form(action='form_receiver' method='get')
p
input(type='text' name='title')
p
textarea( name='description')
p
input(type='submit')
ํ์ง๋ง post ๋ฐฉ์์ผ๋ก ์ง์ ํด์ฃผ๊ฒ ๋๋ฉด ์ ๋๋ก ์คํ๋์ง ์๋๋ค
(URL์ ์ ๋ณด๋ฅผ ์ด์ฉํ๋ ๊ฒ์ post ๋ฐฉ์์ด ์๋ get ๋ฐฉ์์์๋ง ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ด๋ค)
*post ๋ฐฉ์
app.post('/form_receiver', function(req, res){
let title = req.body.title;
let description = req.body.description;
res.send(title+', '+description);
})
app.get์ด ์๋ app.post๋ฅผ ์ฌ์ฉํ๊ณ query ๋์ body๋ฅผ ์ฌ์ฉํด์ค๋ค
๊ทธ๋ฌ๋ฉด ์์ ๊ฐ์ ์๋ฌ๊ฐ ์๊ธฐ๊ณ , body parser์ ์ด์ฉํด์ฃผ๋ฉด ๋๋ค
let bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:false}))
์ด๋ฐ ์ฝ๋๋ฅผ ํฌํจํ ํ ์๊น ์ผ๋ ๊ฒ์ฒ๋ผ post ๋ฐฉ์์ ์ฌ์ฉํ๊ฒ ๋๋ฉด body ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค!
ํ์...
์ด ๊ฐ์๊ฐ ๋ช ๋ ์ ๊ฐ์๋ผ ๊ทธ๋ฐ์ง ๋ง์ ๊ฒ๋ค์ด ๋ฌ๋ผ์ง ๊ฒ ๊ฐ๋ค...ใ
jade -> pug๋ ๊ทธ๋ ๊ณ .. ์ผ๋จ ๊ฐ์ ๋ค ๋ฃ๊ณ ๋ฐ๋ก ์์๋ด์ผ๊ฒ ๋ค
GET ๋ฐฉ์: ์ ๋ณด์ ๋ํ ์ฃผ์๋ฅผ ๋ค๋ฅด๊ฒ ํํํ๊ณ ์ถ์ ๋ ์ฌ์ฉ(์ฟผ๋ฆฌ์คํธ๋ง)
POST ๋ฐฉ์: ์์ด๋, ๋น๋ฐ๋ฒํธ ๋ฑ URL์ ์ ๋ณด๋ฅผ ๋ ธ์ถ์ํค๊ณ ์ถ์ง ์์ ๋, ์ฉ๋์ด ํฐ data๋ฅผ ์ ๋ฌํ ๋(GET ๋ฐฉ์์ ์ด์ฉํ๋ฉด URL์์ ๋๊น) ์ฌ์ฉ
'c o d i n g . . ๐ > Node.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํ์ฝ๋ฉ] NodeJs ํ์ฉํ๊ธฐ(2) (0) | 2021.08.09 |
---|---|
[์ํ์ฝ๋ฉ] NodeJs ํ์ฉํ๊ธฐ(1) (0) | 2021.08.02 |
[์ํ์ฝ๋ฉ] Node.js ๋ฅผ ์ด์ฉํด ์น์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ(4) (0) | 2021.07.12 |
[์ํ์ฝ๋ฉ] Node.js ๋ฅผ ์ด์ฉํด ์น์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ(2) (0) | 2021.07.12 |
[์ํ์ฝ๋ฉ] Node.js ๋ฅผ ์ด์ฉํด ์น์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ(1) (0) | 2021.06.28 |