Day3 - wjddnjswjd12/fe-w3-shopping GitHub Wiki
๋ผ์ฐํ ์ด๋
- URI(๊ฒฝ๋ก) ๋ฐ ํน์ ํ HTTP ์์ฒญ ๋ฉ์๋ (get, post)์ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์๋ตํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์
- ๊ฐ ๋ผ์ฐํธ๋ ํ๋ ์ด์์ ํธ๋ค๋ฌ ํจ์๋ฅผ ๊ฐ์ง์์๊ณ , ๋ผ์ฐํธ๊ฐ ์ผ์นํ ๋ ์คํ๋๋ค.
app.get(PATH(๊ฒฝ๋ก),HANDLERํจ์)
app์ express๊ฐ์ฒด์ด๋ค. method์๋ get๊ณผ post๋ฐฉ์์ด ์๋ค PATH์๋ ํด๋นํ๋ ํ๋ก์ ํธ ๋ด์ ์๋ฒ ๊ฒฝ๋ก๋ฅผ ๋ฃ์ผ๋ฉด ๋๋ค. HANDLER์ ๋ผ์ฐํธ๊ฐ ์ผ์นํ ๋ ๋ฐ์ํ๋ ํจ์์ด๋ค.
์ค๋ ๋ฏธ์ ์ ํ๋ฉด์ ์ฌ์ฉํด๋ณธ app.get()๊ด๋ จ ์ฝ๋:
let homeContents;
homeContents = JSON.parse(
fs.readFileSync("./public/data/homeContents.json", "utf8")
);
app.get("/homeContents.json", (req, res, next) => {
res.json(homeContents);
});
Adela์ ์ฝ๋๋ฅผ ์ผํํ๋ ์ค ์ ๋ฐ ๋ฐฉ์์ผ๋ก ์๋ฒ์์ ๋ณด๋ผ ์ ์๊ธฐ์ ์ณ๊ฑฐ๋! ํ๊ณ ๊ฐ์ ธ๋ค ์จ๋ดค๋ค.
๊ตฌ๊ธ๋ง์ผ๋ก ์ฐพ์๋ณด๋๊น res.send()
๋ณด๋ค res.json()
์ผ๋ก ๋ณด๋ด๋๊ฒ ์ข๋ค๊ณ ํ๋ค. ๊ฐ์ฒด์ ์ฐธ์กฐ๊ฐ์ ๋ณ์์ ๋ด์์ ์ธ์๋ก ๋๊ธฐ๊ธฐ ๋๋ฌธ์
res.send(homeContents);
๋ฅผ ์ด๋ค๋ฉด JSON๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋์ง ๋ญ ๋ณด๋ด๋์ง ํ์คํ์ง ์๊ธฐ์ res.json์ ์ฌ์ฉํ์ฌ JSON๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ๋ค๋ ์๋๊ฐ ๋ช
ํํ๊ฒ ๋๋ฌ๋๋๋ก ํ๋๊ฒ ์ข๋ค๊ณ ํ๋ค....!
๋ค๋ฅธ ์ด์ ๋ ์๋๋ฐ... ์ค๋ช ์ ๋ณด๊ณ ๋ ์ ์ดํด๊ฐ ์๋ผ์ ์ด๊ฑด ์ดํด๊ฐ ๋๋ฉด ์ ๋ฆฌํด๋ด์ผ๊ฒ ๋ค..
fetch API
fetch๋ Ajax ๋ฐฉ์ ์ค ํ๋๋ค. fetch api๋ฅผ ํ๋๋ก ์ ์ฉํด๋ณธ ์ฝ๋:
fetch("http://localhost:3000/planningEvent.json")
.then((response) => response.json())
.then((data) => console.log(data));
fetch API๋ promise๋ฐฉ์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. thenํค์๋=> ์์ ํจ์ ์คํ์ด ๋๋๋ฉด ๊ทธ ๋ค์์ผ๋ก ํ ์ผ์ ์ ํด์ฃผ๋ ๊ฒ 'fetch(์๋ฒ์ฃผ์)'๋ ์น ๋ธ๋ผ์ฐ์ ์๊ฒ "์ด ์๋ฒ ์ฃผ์๋ก ์์ฒญํด์ค!!" ๋ผ๋ ์๋ฏธ์ด๊ณ , ๋ค์ .then์ด ๋ถ์ผ๋ฉด, "์์ฒญ ๋๋๊ณ ๋์ ์ด ํ ์ผ์ ํด์ค!!!!" ๋ผ๋ ๊ฒ์ด๋ค.
๋ง๋ฌด๋ฆฌ...
๋ฌดํผ ์ค๋ ์บ๋ฌ์ ? carousel ์ ๊ตฌํํด๋ดค๋๋ฐ... ๋ฒํผ์๋ค๊ฐ event๋ฅผ ๊ฑธ์ด์ผํ๋๋ฐ ๋ญ๊ฐ ์๊พธ ์์ฌ๋ฆฌ๋์ ์๋ํ๋ ํ์ธ๋ง ํ๋ ค๊ณ setInterval์ ํตํด carousel์ ์์ง์ฌ๋ดค๋ค..
ํ์ฌ์ํ(outline:red ํ์ธก์ฃผ์):
์ฐธ๊ณ :