AJAX๊ฐ€ ๋ญ˜๊นŒ์š”? 


AJAX๋Š” Asynchronous Javascript And Xml์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค.


์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๋น„๋™๊ธฐ์‹ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ XML์„ ๋งํ•ฉ๋‹ˆ๋‹ค. 


์ด๋ฆ„์— XML์ด ๋‚˜์˜ค๊ธฐ๋Š” ํ•˜์ง€๋งŒ XML์„ ์•Œ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.  


AJAX๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ HTML๊ณผ Javascript๋ฅผ ์•Œ๊ณ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๊ทธ๋Ÿผ ๊ฐ€์žฅ๋จผ์ € AJAX๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ• ๊นŒ์š”?


AJAX๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.


1. ํด๋ผ์ด์–ธํŠธ(IE 7+, ํฌ๋กฌ, ์‚ฌํŒŒ๋ฆฌ, ํŒŒ์ด์–ดํญ์Šค, etc. )์—์„œ XMLHttpRequest๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ด์•„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค.

2. ์„œ๋ฒ„์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ๋ฉด ๋ฉ”์‹œ์ง€์— ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฝ์–ด์„œ ๋‹ค์‹œ ๋ธŒ๋ผ์šฐ์ €ํ•œํ…Œ ์‘๋‹ตํ•ด์ค€๋‹ค.

3. ํด๋ผ์ด์–ธํŠธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ํ•ด๋‹น ์ •๋ณด๋ฅผ ํŠน์ • ์˜์—ญ์— refreshํ•ด์ค€๋‹ค.


AJAX๋ฅผ ์‚ฌ์šฉํ•จ์— ์žˆ์–ด์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์€ XMLHttpRequest ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ์ฒด๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก๋ฐ›์„ ๋•Œ ์‚ฌ์šฉ์ด ๋ฉ๋‹ˆ๋‹ค. ( IE 5, 6 ๋ฒ„์ „์—์„œ๋Š” ActiveXObject ๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. )


๊ทธ๋Ÿผ ์ด ๊ฐ์ฒด๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ1 - XMLHttpRequest ๊ฐ์ฒด ์ƒ์„ฑํ•˜๊ธฐ

var xhttp;
if (window.XMLHttpRequest) {
    xhttp = new XMLHttpRequest();
    } else {
    // code for IE6, IE5
    xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
์—ฐ์Šตํ•˜๊ธฐ ยป


์ž, ์ด์ œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ–ˆ์œผ๋‹ˆ๊นŒ ์ด ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์„œ๋ฒ„๋กœ ์ „์†กํ•ด์•ผ๊ฒ ์ฃ ?


๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ์„œ๋ฒ„๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.