Ajax1
Last updated
Last updated
Ajax (Asynchronous JavaScript and XML) ๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ๋ฒ ์ค ํ๋.
๊ฐ๋จํ๊ฒ ๋งํด์ ์ฌ์ฉ์(ํด๋ผ์ด์ธํธ)๊ฐ ์์ฒญํ๋ฉด ํด๋น ์์ฒญ(Request)์ ๋ํ ์๋ต(Response)๋ฅผ ๋ฐํ
์น๋ธ๋ผ์ฐ์ (ํด๋ผ์ด์ธํธ)๊ฐ ์น์๋ฒ์ 'www.naver.com' ์ฌ์ดํธ ๋ฐ์ดํฐ ๋ฌ๋ผ๊ณ ์์ฒญ
์น์๋ฒ๋ ํด๋น ์ฌ์ดํธ์ ํ์ผ์ ์ฐพ์์ ์น๋ธ๋ผ์ฐ์ ์ ๋ฐํ
์น๋ธ๋ผ์ฐ์ ๋ ํ์ผ์ ๋ฐ์ ๋ค์ด๋ฒ ๋ฉ์ธํ๋ฉด์ ํ์
GET ์์ฒญ์ ์๋ฒ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ๋ ์ฃผ๋ก ์ฌ์ฉํ๊ณ
POST ์์ฒญ์ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ ์ฃผ๋ก ์ฌ์ฉํจ.
(์์. ์๋ฒ๋ก ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅํ ๋)
PUT, PATCH, DELETE ๋ ์์ง๋ง ์ง๊ธ์ GET / POST๋ง ์๊ณ ๊ฐ์๋ค.
GET ์์ฒญ์ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ
www.youtube.com - ์ด URL์ ์ฃผ์์ฐฝ์ ์ ์ผ๋ฉด ํด๋น ์๋ฒ๋ก GET ์์ฒญ์ ๋ ๋ ค์ค.
POST ์์ฒญ์ ๋ณดํต html์ <form> ํ๊ทธ์ ๋ด์์ ์์ฒญํจ.
์์. <form url="์์ฒญํ url" method="post">
์ด๋ฌํ GET / POST ์์ฒญ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ก๊ณ ์นจ ๋๋ค๋ ๋จ์ ์ด ์๋ค.
Ajax๋ ์นํ์ด์ง ์ ์ฒด๋ฅผ ์๋ก๊ณ ์นจ ํ์ง ์๊ณ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์
ํ๊ตญ ์นํฐ API๋ฅผ ์ฌ์ฉํด์ Get ์์ฒญ์ ์ฐ์ต ํด๋ณด์.
done / fail ๋ง๊ณ then/ catch ์จ๋ ๊ด์ฐฎ์
javascript ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ fetch
์ด๋ ๊ฒ ์์ฒญํด๋ ๊ฒฐ๊ณผ๋ ๋๊ฐ๋ค.
์ฝ๋๊ฐ ํ ์ค์ด ๋ ํ์ํ ์ด์ ๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋์๋ ๋ฌธ์๋ง ์ฃผ๊ณ ๋ฐ์ ์ ์์
๊ทธ๋ฐ๋ฐ Ajax๋ก ์์ฒญํ์๋์๋ object ํํ๋ก ์ด๋ป๊ฒ ๋ฐ์์จ ๊ฑฐ์?
>> jQuery์ $.get() JSON์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ array/object ํํ๋ก ์๋ฃ๋ฅผ ๋ฐ๊ฟ์ค
๋ด์ฅํจ์ fetch๋ ๊ทธ๋ฐ๊ฒ ์์ด์ res๋ฅผ array/object๋ก ๋ฐ๊พธ๊ธฐ ์ํด res => res.json() ์ด ์ฝ๋๊ฐ ํ์ํจ.
post ๋ฐฉ์์
์ด๋ฐ์์ผ๋ก ๋ณด๋ผ url , ๋ค์ data ์ ์ผ๋ฉด ๊ฐ๋ฅํจ.
post๋ฐฉ์๋ .done .fail ๊ฐ๋ฅํจ.
โจ ๊ณผ์ . js013.html ์ get ๋ฐฉ์์ผ๋ก ์ข์ํ๋ ์นํฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์์ ์ฒซ๋ฒ์งธ ์ํ ์ด๋ฏธ์ง์ ํ์ดํ์
ํด๋น ์ธ๋ค์ผ๊ณผ ์นํฐ ์ ๋ชฉ์ ๋ฃ์ด๋ณด์.
๐HINT img src ๋ณ๊ฒฝํ๋ ๋ฒ
$(img).attr("src", '์ด๋ฏธ์งurl');
โจ ๊ณผ์ . ์๋ฃํ ์ฌ๋์ ์นํฐ ์ ๋ชฉ ํด๋ฆญํ๋ฉด ํด๋น url๋ก ์ด๋ํ๊ฒ๋ ํด๋ณด์.
์ฝ๋ ๋ฐ๋ผ์น์ง๋ง๊ณ ๊ผญ ์๋ฃํ๊ณ ํ์ธํด๋ด ์๋ค.