# Ajax๋?
- JavaScript์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋
- Asynchronous Javascript And Xml(๋น๋๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ์ xml)
- ๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ์ง๊ณ ์๋ XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ ์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น์ง ์๊ณ ๋ ํ์ด์ง์ ์ผ๋ถ๋ง์ ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ๊ธฐ๋ฒ
JavaScript๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ํต์ , ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ XML ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์
# ๋น๋๊ธฐ(async)๋ฐฉ์์ด๋?
- ์นํ์ด์ง๋ฅผ Reloadํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์
Page Reload์ ๊ฒฝ์ฐ ์ ์ฒด ๋ฆฌ์์ค๋ฅผ ๋ค์ ๋ถ๋ฌ์์ผ ํ๋๋ฐ ์ด๋ฏธ์ง, ์คํฌ๋ฆฝํธ , ๊ธฐํ ์ฝ๋ ๋ฑ์ ๋ชจ๋ ์ฌ์์ฒญํ ๊ฒฝ์ฐ ๋ถํ์ํ ๋ฆฌ์์ค ๋ญ๋น๊ฐ ๋ฐ์ํ๊ฒ ๋์ง๋ง ๋น๋๊ธฐ์ ๋ฐฉ์์ ์ด์ฉํ ๊ฒฝ์ฐ ํ์ํ ๋ถ๋ถ๋ง ๋ถ๋ฌ์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ํจ๊ณผ์ ์ด๋ค.
# ์ ์ฌ์ฉํ ๊น
๊ธฐ๋ณธ์ ์ผ๋ก HTTPํ๋กํ ์ฝ์ ํด๋ผ์ด์ธํธ์ชฝ์์ Request๋ฅผ ๋ณด๋ด๊ณ Server์ชฝ์์ Response๋ฅผ ๋ฐ์ผ๋ฉด ์ด์ด์ก๋ ์ฐ๊ฒฐ์ด ๋๊ธฐ๊ฒ ๋์ด์๋ค.
๊ทธ๋์ ํ๋ฉด์ ๋ด์ฉ์ ๊ฐฑ์ ํ๊ธฐ ์ํด์๋ ๋ค์ request๋ฅผ ํ๊ณ response๋ฅผ ํ๋ฉด์ ํ์ด์ง ์ ์ฒด๋ฅผ ๊ฐฑ์ ํ๊ฒ ๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ํ ๊ฒฝ์ฐ ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง ๊ฐฑ์ ํ ๊ฒฝ์ฐ์๋ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ค์ ๋ก๋ํด์ผํ๋๋ฐ ์์ฒญ๋ ์์๋ญ๋น์ ์๊ฐ๋ญ๋น๋ฅผ ์ด๋ํ๋ค. ํ์ง๋ง Ajax๋ html ํ์ด์ง ์ ์ฒด๊ฐ ์๋ ์ผ๋ถ๋ถ๋ง ๊ฐฑ์ ํ ์ ์๋๋ก XML HttpRequest๊ฐ์ฒด๋ฅผ ํตํด ์๋ฒ์ request๋ฅผ ํ๋ค.
์ด ๊ฒฝ์ฐ Json์ด๋ xmlํํ๋ก ํ์ํ ๋ฐ์ดํฐ๋ง ๋ฐ์ ๊ฐฑ์ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋งํผ์ ์์๊ณผ ์๊ฐ์ ์๋ ์ ์๋ค.
# Ajax์ ์ฅ๋จ์
# Ajax์ ์ฅ์
- ์นํ์ด์ง์ ์๋ ํฅ์
- ์๋ฒ์ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ์๋ฒ์์ Data๋ง ์ ์กํ๋ฉด ๋๋ฏ๋ก ์ ์ฒด์ ์ธ ์ฝ๋ฉ์ ์์ด ์ค์ด๋ ๋ค.
- ๊ธฐ์กด ์น์์๋ ๋ถ๊ฐ๋ฅํ๋ ๋ค์ํ UI๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ค๋ค.
# Ajax ์ ๋จ์
- ํ์คํ ๋ฆฌ ๊ด๋ฆฌ๊ฐ ์ ๋๋ค. (๋ณด์์ ์ข ๋ ์ ๊ฒฝ์ ์จ์ผํ๋ค.)
- ์ฐ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด ์๋ฒ ๋ถํ๊ฐ ์ฆ๊ฐํ ์ ์๋ค.
- XMLHttpRequest๋ฅผ ํตํด ํต์ ์ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์๋ฌด๋ฐ ์งํ ์ ๋ณด๊ฐ ์ฃผ์ด์ง์ง ์๋๋ค. ๊ทธ๋์ ์์ง ์์ฒญ์ด ์๋ฃ๋์ง ์์๋๋ฐ ์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ๋ ๋๊ฑฐ๋ ์ค์๋ํ ์ฐ๋ ค๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.