๐[WEB] AJAX๋?
AJAX(Asynchronous JavaScript And XML)
AJAX๋ JavaScript์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๋ก, ๋น๋๊ธฐ์ JavaScript์ xml์ ์ฝ์์ด๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ๊ณ ์๋ XMLHttpReqeust
๊ฐ์ฒด๋ฅผ ์ด์ฉํด ์ ์ฒด ํ์ด์ง๋ฅผ reload
ํ์ง ์์๋ ํ์ด์ง์ ์ผ๋ถ์ ๋ฐ์ดํฐ๋ฅผ
๋ก๋ํ ์ ์๋ ๊ธฐ๋ฒ์ด๋ค.
์ฆ, JavaScript๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ํต์ , ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ XML ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์ ์ด๋ค.
๋น๋๊ธฐ(Asynchronous)๋?
๋น๋๊ธฐ ๋ฐฉ์์ ์นํ์ด์ง๋ฅผ Reloadํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ ๋ปํ๋ค.
Ajax๋ฅผ ํตํด ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ๋ฉ์ถฐ์๋ ๊ฒ์ด ์๋๋ผ, ๊ทธ ํ๋ก๊ทธ๋จ์ ๊ณ์ํด์ ๋์๊ฐ๊ณ ์๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋น๋๊ธฐ ๋ฐฉ์์ ์ฅ์
ํ์ด์ง๋ฅผ Reloadํ ๊ฒฝ์ฐ, ์ ์ฒด ๋ฆฌ์์ค๋ฅผ ๋ค์ ๋ถ๋ฌ์์ผ ํ๋๋ฐ, ์ด๋ฏธ์ง, ์คํฌ๋ฆฝํธ, ๊ธฐํ ์ฝ๋ ๋ฑ์ ์ฌ์์ฒญํ๊ฒ ๋๋ฉด
๋ถํ์ํ ๋ฆฌ์์ค ๋ญ๋น๊ฐ ๋ฐ์ํ๋ค.
ํ์ง๋ง ๋น๋๊ธฐ ๋ฐฉ์์ ํ์ํ ๋ถ๋ถ๋ง ๋ถ๋ฌ์ ์ฌ์ฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
AJAX์ ์ฅ์
- ์นํ์ด์ง์ ์๋ ํฅ์
- ์๋ฒ์ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ
- ์๋ฒ์์ ๋ฐ์ดํฐ๋ง ์ ์กํ๋ฉด ๋๋ฏ๋ก ์ ์ฒด์ ์ธ ์ฝ๋ฉ์ ์์ด ๊ฐ์
- ๊ธฐ์กด ์น์์๋ ๋ถ๊ฐ๋ฅํ๋ ๋ค์ํ UI๋ฅผ ๊ฐ๋ฅํ๊ฒ ํจ
AJAX์ ๋จ์
- ํ์คํ ๋ฆฌ ๊ด๋ฆฌ๊ฐ ๋์ง ์๋๋ค.
- ํ์ด์ง ์ด๋ ์๋ ํต์ ์ผ๋ก ์ธํ ๋ณด์ ์์ ๋ฌธ์ ๊ฐ ์กด์ฌํจ.
- ์ฐ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด ์๋ฒ ๋ถํ๊ฐ ์ฆ๊ฐํ ์ ์๋ค.
- XMLHttpRequest๋ฅผ ํตํด ํต์ ํ ๊ฒฝ์ฐ, ์ฌ์ฉ์์๊ฒ ์๋ฌด๋ฐ ์งํ ์ ๋ณด๊ฐ ์ฃผ์ด์ง์ง ์๋๋ค.
- AJAX๋ฅผ ์ธ ์ ์๋ ๋ธ๋ผ์ฐ์ ์ ๋ํ ๋ฌธ์ ์ด์๊ฐ ์๋ค.
- HTTP ํด๋ผ์ด์ธํธ์ ๊ธฐ๋ฅ์ด ํ์ ๋์ด ์๋ค.
- ์ง์ํ๋ Charset์ด ํ์ ๋์ด ์๋ค.
- ์คํฌ๋ฆฝํธ๋ก ์์ฑ๋๋ฏ๋ก ๋๋ฒ๊น ์ด ์ด๋ ต๋ค.
- ๋์ผ-์ถ์ฒ ์ ์ฑ ์ผ๋ก ์ธํด ๋ค๋ฅธ ๋๋ฉ์ธ๊ณผ๋ ํต์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.(Cross-Domain ๋ฌธ์ )
์ฐธ๊ณ ์๋ฃ
https://velog.io/@surim014/AJAX%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
๋๊ธ๋จ๊ธฐ๊ธฐ