Ajax๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ค ํ๋์ด๋ค.
๋น๋๊ธฐ ์๋ฐ์คํฌ๋ฆฝํธ + XML์ด๋ค.
์๋ฒ์ ํต์ ํ๊ธฐ ์ํด XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค.
JSON/XML/HTML ๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ ํ ์คํธ ํ์ ๋ฑ์ ํฌํจํ ๋ค์ํ ํฌ๋งท์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
AJAX์ ๊ฐ๋ ฅํ ํน์ง์ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ฆฌํ๋ ์ฌ ํ์ง ์๊ณ ์๋ ์ํ ๋๋ "๋น๋๊ธฐ์ฑ"์ด๋ค.
์ฌ์ฉ์์ ์ด๋ฒคํธ๊ฐ ์์ผ๋ฉด ์ ์ฒด ํ์ด์ง๊ฐ ์๋ ์ผ๋ถ๋ถ๋ง ์ ๋ฐ์ดํธ ํ ์ ์๊ฒ ํด์ค๋ค.
์์ฝํ๋ฉด,
1. ํ์ด์ง ์๋ก๊ณ ์นจ ์์ด ์๋ฒ์ ์์ฒญ
2. ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ณ ์์ ์ ์ํ
๋ผ์ด๋ธ๋ฌ๋ฆฌ? ๋๋ณด๊ธฐ ํด๋ฆญ!
๐ก์ฌ๊ธฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋? '๋์๊ด'์ด๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ๋ฐ์์ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋๋ ์ฝ๋๋ฅผ ํ๋์ ํจ์๋ ํด๋์ค๋ผ๋ ๋จ์๋ก ๋ฌถ์ด ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ง๋ค ์ ์๊ณ ๋ค๋ฅธ ์ฌ๋์ด ๋ง๋ ๊ฒ์ ์ค์น๋ฐ์ ์ฌ์ฉํ ์ ์๋ค.
๋ค์๋งํด ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์ฝ๋์ ์งํฉ์ผ๋ก ๋ณผ ์ ์๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ์ง๊ณ ์๋ XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ ์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น์ง ์๊ณ ๋
ํ์ด์ง์ ์ผ๋ถ๋ง์ ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ๊ธฐ๋ฒ์ด๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ํต์ , ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ XML ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์ ์ด๋ผ๊ณ ํ ์ ์๋ค.
XML? ๋น๋๊ธฐ? ๋๋ณด๊ธฐ ํด๋ฆญ!
๐กXML์ด๋? HTML๊ณผ ๋งค์ฐ ๋น์ทํ ๋ฌธ์ ๊ธฐ๋ฐ์ ๋งํฌ์ ์ธ์ด๋ค. ๊ทธ๋ฌ๋ HTML์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ชฉ์ ์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ
์ ๋ฌํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ก๋ค. ํ๊ทธ๊ฐ ๋ฏธ๋ฆฌ ์ ์ ๋์ด ์์ง ์๊ณ ์ฌ์ฉ์๊ฐ ์ง์ ์ ์ํ ์ ์๋ค.
::XML์ ํน์ง
1. ๋ค๋ฅธ ๋ชฉ์ ์ ๋งํฌ์ ์ธ์ด๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ ๋ค๋ชฉ์ ๋งํฌ์ ์ธ์ด์ด๋ค.
2. ๋ค๋ฅธ ์์คํ ๋ผ๋ฆฌ ๋ค์ํ ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ๊ตํํ ์ ์๋๋ก ํด์ค๋ค.
3. ์๋ก์ด ํ๊ทธ๋ฅผ ๋ง๋ค์ด ์ถ๊ฐํด๋ ๊ณ์ํด์ ๋์ํ๋ฏ๋ก ํ์ฅ์ฑ์ด ์ข๋ค.
4. ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ ์ ์ฅํ๋ ๊ฒ๋ง์ ๋ชฉ์ ์ผ๋ก ํ๋ค.
5. ํ ์คํธ ๋ฐ์ดํฐ ํ์์ ์ธ์ด๋ก ๋ชจ๋ XML ๋ฌธ์๋ ์ ๋์ฝ๋๋ก๋ง ์ด๋ฃจ์ด์ง๋ค.
๐ก๋น๋๊ธฐ(async)๋ฐฉ์์ด๋?
๋น๋๊ธฐ ๋ฐฉ์์ ์นํ์ด์ง๋ฅผ ๋ฆฌ๋ก๋ํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ด๋ค. ์ด ๋ฐฉ์์ ์ฅ์ ์ ํ์ด์ง ๋ฆฌ๋ก๋์ ๊ฒฝ์ฐ ์ ์ฒด ๋ฆฌ์์ค๋ฅผ ๋ค์ ๋ถ๋ฌ์์ผํ๋๋ฐ ์ด๋ฏธ์ง,์คํฌ๋ฆฝํธ, ๊ธฐํ ์ฝ๋๋ฑ์ ๋ชจ๋ ์ฌ์์ฒญํ ๊ฒฝ์ฐ ๋ถํ์ํ ๋ฆฌ์์ค ๋ญ๋น๊ฐ ๋ฐ์ํ๊ฒ ๋์ง๋ง
๋น๋๊ธฐ ๋ฐฉ์์ ์ด์ฉํ ๊ฒฝ์ฐ ํ์ํ ๋ถ๋ถ๋ง ๋ถ๋ฌ์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ๋งค์ฐ ํฐ ์ฅ์ ์ด ์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก HTTPํ๋กํ ์ฝ์ ํด๋ผ์ด์ธํธ์ชฝ์์ Request๋ฅผ ๋ณด๋ด๊ณ Server์ชฝ์์ Response๋ฅผ ๋ฐ์ผ๋ฉด ์ด์ด์ก๋ ์ฐ๊ฒฐ์ด ๋๊ธฐ๊ฒ ๋์ด์๋ค.
๊ทธ๋์ ํ๋ฉด์ ๋ด์ฉ์ ๊ฐฑ์ ํ๊ธฐ ์ํด์ ๋ค์ ์์ฒญ์ ํด์ผํ๊ณ ์๋ต์ ํ๋ฉด์ ํ์ด์ง ์ ์ฒด๋ฅผ ๊ฐฑ์ ํ๊ฒ ๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ํ ๊ฒฝ์ฐ ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง ๊ฐฑ์ ํ ๊ฒฝ์ฐ์๋ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ค์ ๋ก๋ํด์ผํ๋๋ฐ ์์ฒญ๋ ์ง์๋ญ๋น์ ์๊ฐ๋ญ๋น๋ฅผ ์ด๋ํ๊ณ ๋ง๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ajax๋ html ํ์ด์ง ์ ์ฒด๊ฐ ์๋ ์ผ๋ถ๋ถ๋ง ๊ฐฑ์ ํ ์ ์๋๋ก XML HttpRequest๊ฐ์ฒด๋ฅผ ํตํด ์๋ฒ์ ์์ฒญ์ ํ๋ค.
์ด๊ฒฝ์ฐ Json์ด๋ XMLํํ๋ก ํ์ํ ๋ฐ์ดํฐ๋ง ๋ฐ์ ๊ฐฑ์ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋งํผ ์์๊ณผ ์๊ฐ์ ์๋ผ๊ณ ์๋๋ฅผ ํฅ์ ์ํฌ ์ ์๋ค.
'Programming๐ฉ๐ปโ๐ป' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MAVEN (0) | 2021.12.03 |
---|