ํฐ์คํ ๋ฆฌ ๋ทฐ
node js ๊ณต๋ถ๋ฅผ ํ๋ฉด์ ์ด๋ฐ์ sementic url์ ํํ๋ฅผ ๊ณต๋ถํด๋ณด์์ต๋๋ค.(http://bubobubo003.tistory.com/21?category=779547) ์ฝ๋ฉ์ ํญ์ ๋ผ์ฐํฐ ๋ฐฉ์(?) ์ผ๋ก๋ง ํ๋ค๋ณด๋ app.jsํ์ผ์๋ผ์ฐํฐ๋ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋๊ณ ์ฐ๊ด์ด ์๋ ํ์ด์ง๋ฅผ ํ๋ํ๋ ๋ผ์ฐํฐ๋ฅผ ๋ค ๋ง๋๋๊ฑด ์ข ์๋๋ผ๊ณ ์๊ฐ์ด ๋ค์ด์ ์๋ฉํฑ url์ ์ด์ฉํ์ฌ ์นํ์ด์ง์ ์ ์ฉ์ ํด๋ณด์์ต๋๋ค. ์ด๋ฐ ์ํฉ์ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฐ ๊ฒ์ํ์ด ์๋๋ฐ(๋ฌผ๋ก ์ด๋ ๊ฒ ํ์ ํ ๊ฒ์ํ์ ์๊ฒ ์ง๋ง..) ํด๋น ์์ฑ๊ธ๋ก ๋ค์ด๊ฐ์ ๋ url์ ๋ผ์ฐํฐ๋ก ํ๋ํ๋ ๋ค ์์ฑํ๋ ค๋ฉด๊ฒ์๊ธ์ ๊ฐ์๋งํผ app.get()์ ํตํด์ ํ ์๋ ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ํ์ฌ commuity๋ผ๋ ์ฒซ๋ฒ์งธ url ๋ค๋ก '๊ท์น์ฑ์ด ์๋ ๋ฌธ์๋ ์ซ์๊ฐ ๋ค์ด๊ฐ๋ฉด ์ข๊ฒ ๋ค' ๋ผ๊ณ ์๊ฐ์ด ๋ค์๋๋ฐ์ ์ด๋ฐ์์ผ๋ก ๋ง์ด์ฃ
num1์ด๋ผ๋ ๊ธ์ ์ค์ ๋ก ์์ฑ๋์ด์๋ ๋ฐ์ดํฐ์ ๋๋ค. url์ ๋ณด๋ฉด commuity url ๋ค๋ก /22 ๋ผ๋ ์ซ์๊ฐ ๋ค์ด๊ฐ ๊ฒ์ ๋ณผ ์ ์๋๋ฐ์ url๋ง ๋ณด๊ณ ๋ commuity ํ์ด์ง์ ์๋ 22๋ฒ์งธ ๊ธ? ์ ๋๋ก ํด์์ด ๊ฐ๋ฅํฉ๋๋ค.
์ ๋ ๊ธฐ์กด์ commuity ๋ผ์ฐํฐ๋ฅผ ์ด๋ฐ์์ผ๋ก ์์ฑํ์์ต๋๋ค.
1 2 3 4 5 6 7 8 9 10 | app.get('/commuity',function(req,res){ board.boardLoadFunction(function(result){ var jsonStr = JSON.stringify(result); if(result.length==0) res.render('commuity',{data:0}) else res.render('commuity',{data:jsonStr}) }) }); | cs |
๋ค๋ฅธ๊ฑด ๋ค ๊ทธ๋ ๋ค์น๊ณ commuity๋ผ๋ ํ์ด์ง๋ฅผ ๋ ๋๋ง ํ๊ฒ ์ฃ ๊ธฐํ ๋ค๋ฅธ ๋ณ์๋ค์ ๊ฐ์ธ์ ์ธ ์์ ์ผ๋ก ์ธํด ๋ค์ด๊ฐ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ฒฐ๊ณผ์ ์ผ๋ก๋ localhost:3000/commuity ๋ผ๋ ํ์ด์ง๋ก๋ง ์ ์์ด ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ธ ํ๋ํ๋๋ ํ์ด์ง๊ฐ ๋ง๋ค์ด์ ธ์ผํ๋๋ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฒ์ํ ๊ธ์ ๋๊ฐ์ ํ์ด์ง์ ์ ๋ชฉ๊ณผ ๋ด์ฉ๋ง ๋ค๋ฅธ ํํ์ผ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ถ๊ฐ์ ์ผ๋ก sementic urlํ์์ ๋ง๋ค๊ธฐ์ํ ๋ผ์ฐํฐ๋ฅผ ํ๋ ๋ ๋ง๋ค์ด์ค๋๋ค.
1 2 3 4 5 6 7 8 9 | app.get('/commuity/:id',function(req,res){ var id = req.params.id; models.Board.findAll({ where: {'id':id} }).then(function(result){ var jsonObj = JSON.stringify(result) res.render('commuity_detail',{data:jsonObj}) }) }) | cs |
๊ธฐ์กด์ ๋ผ์ฐํฐ์ ์ฃผ์ ๋ค์ /:id ๋ผ๋ ํํ๋ก ์ถ๊ฐ๋์๋๋ฐ ์ฌ๊ธฐ์๋ ์ซ์ ๊ฐ์ ๋ฐ๋ผ์ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ค๊ณ ํฉ๋๋ค.
[ commuity.pug ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $(document).ready(function(){ var data = !{data} var len = Object.keys(data).length var tbody = document.getElementById('tbody'); var len = 1 if(data==0) len = 1 else{ len = Object.keys(data).length tbody = document.getElementById('tbody'); for(var i=0;i<len;i++){ tbody.innerHTML += "<th>"+data[i].name+"</th>"+"<th><a id=link"+i+" href=''>"+data[i].subject+"</a></th>" document.getElementById("link"+i).setAttribute('href','commuity/'+data[i].id) } } }); | cs |
์ฝ๋์ ์ ๋ถ๊ฐ ์๋๋ผ ์ข ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋๋ฐ ์ด์จ๋ ์ค์ํ ๋ถ๋ถ์ setAttribute ๋ถ๋ถ์ ๋๋ค. aํ๊ทธ์ href ๊ฐ์ ๋ณ๊ฒฝํด์ฃผ๋๋ฐcommuity ์ฃผ์ ๋ค๋ก ํน์ ์ซ์ ๊ฐ์ ๊ฐ๊ฒ๋ฉ๋๋ค. ์๋ฅผ๋ค๋ฉด http://localhost:3000/commuity/20 ๊ณผ ๊ฐ์ด ๋ง์ด์ฃ ๊ฒ์ํ์ ๊ธ์ด ์ฌ๋ฌ๊ฐ์ด๋ค๋ณด๋ ๋ฐ๋ณต๋ฌธ๋ ์ฐ๊ณ ์ด ๋ฐ์ดํฐ๋ค์ ์ DB์์ ๋ฝ์์ฐ๋ ํฐ๋ผ ์ฝ๋๊ฐ ๋ฐฑ์๋ ํ์ผ์ด๋ ์ฝ๊ฐ ๋ณต์กํ๊ฒ ์ฝํ์์ต๋๋ค. ์๋ฌดํผ setAttribute๋ก ์ธํด ๊ฐ๊ฐ์ ๊ฒ์๊ธ๋ค์ sementic url ํํ์ ๋งํฌ ๊ฐ์ ๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ ๊ฒ๋๋ฉด app.js ํ์ผ์์ app.get('/commuity/:id',function(req,res){ ์ด ๋ถ๋ถ์ผ๋ก ๋ค์ด์ค๊ฒ ๋๊ฒ ์ฃ commuity๋ผ์ฐํฐ์์๋ commuity ํ์ด์ง๋ฅผ ํธ์ถํ๋ค๋ฉด sementic url ๋ผ์ฐํฐ์์๋ commuity_detail ํ์ด์ง๋ฅผ
๋ ๋๋งํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ URL์ฃผ์๋ localhost:3000/commuity_detail ์ด ์๋๋ผ
localhost:3000/commuity/22 ์ ๊ฐ์ด ํํ์ด ๋์ฃ commuity ํ์ด์ง์์ ํน์ ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ
์ ํ ํ์ฌ ๋ณด์ฌ์ฃผ๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
๋ณด์๋ฉด ๊ฐ์ URL ํ์์ ๋ค์ ๋๊ฐ์ html ํ์ด์ง ํผ์ ์ฐ๋๋ฐ ์ซ์ ๊ฐ์ ๋ฐ๋ผ์ ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ด์ฉ์ ๊ฐ๊ฒ ํด์ฃผ๋ ๊ฒ์
๋ณผ ์ ์์ต๋๋ค. ๋๊ฐ์ ํผ์ ๋ด์ฉ๋ง ๋ฐ๋๋ ํ์์ ๊ฐ์ง ๋ sementic url ๋ฐฉ์์ ํํ๋ฉด ์ข์ ๋ฏ ํฉ๋๋ค.
'Node.js > Node.js ์ค์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Node.js + Vue] ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ์ ์๋ ํ์ผ ๋ค์ด๋ก๋ํ๊ธฐ (0) | 2020.11.12 |
---|---|
session์ผ๋ก ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ (Sequelize DB ํ์ฉ) (0) | 2018.10.23 |
callback ํจ์ ์ดํดํ๊ธฐ (0) | 2018.09.08 |
์ด๋ฏธ์ง url๊ณผ ํ์ผ์์คํ ์ ํตํ ์ด๋ฏธ์ง ๋ค์ด๋ก๋ (Flickr API ์ฌ์ฉ) (0) | 2018.09.05 |
node js async ๋ชจ๋ ์ฌ์ฉํ๊ธฐ (0) | 2018.07.20 |
- Total
- Today
- Yesterday
- backend-framework
- Spring
- nestjs module
- Promise bulk
- Promise error
- nestjs project
- Request_Limit_Exceeded
- nestjs doc
- ๋น๋๊ธฐ ์์ฒญ
- nestjs config
- docker mysql
- @nestjs/config
- DeferredResult
- nestjs typeorm
- ๊ธฐ์์ฒญAPI
- sequelize
- foreignkey
- ํ๋ก๊ทธ๋๋จธ์ค
- nestjs directory
- Spring Async
- ์๊ณ ๋ฆฌ์ฆ
- typeorm
- node.js backend
- nestjs configService
- node.js
- typeorm ์ฐ๊ฒฐ
- JavaScript
- NestJS
- nestjs/cli
- android
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |