- AJAX ±¸Çö - XMLHttpRequest °´Ã¼ »ý¼ºÇϱâ
- read: 2212 date: 07.06.04
- http://ez2web.com/blog/92
-
AJAX ÀÇ ºñµ¿±â ¿äû ±¸ÇöÀ» À§ÇÑ ÇÙ½É ±â¼úÀÇ ±Ù°£Àº ¹Ù·Î JAVASCRIPT ÀÔ´Ï´Ù.
±×Áß¿¡¼µµ XMLHttpRequest °´Ã¼°¡ ÀÖ¾ú±â¿¡ À̸¦ ±¸ÇöÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.
À̸¦ ÅëÇØ ÆäÀÌÁö ´ÜÀ§ÀÇ ¿äû ¾øÀ̵µ ±×¶§ ±×¶§ ÇÊ¿äÇÑ ¿äû°ú ÀÀ´äÀ» ¹ÞÀ» ¼ö ÀÖ°Ô µÈ°ÅÁÒ.
±×·¸´Ù¸é ½ÇÁ¦·Î ÇØ´ç °´Ã¼¸¦ ¾î¶»°Ô »ý¼ºÇÒÁö¿¡ ´ëÇÑ À̾߱⸦ º»°ÝÀûÀ¸·Î ÇØº¸°Ú½À´Ï´Ù.
½ÇÁ¦·Î XMLHttpRequest °´Ã¼´Â ECMASCRIPT Ç¥ÁØ¿¡¼ Áö¿øÇϰí ÀÖ´Â ³»¿ëÀº ¾Æ´Õ´Ï´Ù.
MSÀÇ IE5 ¹öÁ¯ºÎÅÍ °³¹ßµÇ¾î »ç¿ëµÇ±â ½ÃÀÛÇÑ ºñÇ¥ÁØ °´Ã¼ Áß Çϳª ÀÔ´Ï´Ù.
±×·¯³ª ´Ù¸¥ ºê¶ó¿ìÀúµéµµ ±¸Çö ¹æ½ÄÀº ¼·Î Á¶±Ý¾¿ ´Ù¸£Áö¸¸ À̸¦ Áö¿øÇϰí ÀÖÀ¸¸ç
±¸±Û ¸ÊÀ» ÅëÇØ AJAX°¡ ´ëÁßÀûÀ¸·Î »ç¿ëµÇ±â ½ÃÀÛÇÏ¸é¼ ´õ ¸¹Àº ºê¶ó¿ìÀúµéÀÌ Áö¿øÇϰí ÀÖÀ¸¸ç
ÇöÀç´Â ÀϹÝÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â ´ëºÎºÐÀÇ ºê¶ó¿ìÀú°¡ Áö¿øÇÏ´Â ±â´ÉÀÌ µÇ¾ú½À´Ï´Ù.
Á¶±Ý µÚ´ÊÀº °¨ÀÌ ¾øÁö¾Ê¾Æ ÀÖÁö¸¸ w3c ¿¡¼µµ Working-Draft °¡ ÁøÇàÁßÀ̶ó ÇÕ´Ï´Ù.
ÀÚ ±×·¯¸é ÀÌÁ¦ºÎÅÍ º»°ÝÀûÀ¸·Î ½ÇÁ¦ ±¸Çö°ú °ü·ÃµÈ À̾߱⸦ ÇØº¸°Ú½À´Ï´Ù.
XMLHttpRequest °´Ã¼´Â IE ¿¡¼ Á¶Â÷µµ Ç¥ÁØ °´Ã¼°¡ ¾Æ´Ñ activeX °´Ã¼Áß Çϳª¿´½À´Ï´Ù.
Áï ÇØ´ç °´Ã¼¸¦ »ý¼ºÇϱâ À§Çؼ´Â ¾Æ·¡¿Í °°ÀÌ activeXObject ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù.
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
±×·¯³ª À̿ʹ ´Þ¸® FireFox ³ª Opera µî ¿¡¼´Â window ÀÇ ³»À尴ü·Î Áö¿øÀ» Çϰí ÀÖ½À´Ï´Ù.
xmlhttp = new XMLHttpRequest();
µû¶ó¼ À§¿Í °°ÀÌ »ç¿ë¹ýÀÌ ¼·Î ´Ù¸£±â ¶§¹®¿¡ ºê¶ó¿ìÀú¿¡ ¸Â°Ô À̸¦ »ý¼ºÇؾ߸¸ ÇÕ´Ï´Ù.
Âü°í·Î IE7 ºÎÅÍ´Â ÀÌÀüÀÇ ¹æ¹ýÀº ¹°·Ð windowÀÇ ³»À尴ü ¹æ½ÄÀ¸·Îµµ »ý¼ºÀÌ °¡´ÉÇØÁ³½À´Ï´Ù.
±×·¸´Ù¸é Å©·Î½º ºê¶ó¿ì¡ °¡´ÉÇÑ XMLHttpRequest °´Ã¼¸¦ ¾î¶»°Ô »ý¼ºÇØ¾ß ÇÒ±î¿ä??
¾Æ·¡ º¸¿©µå¸± ¼Ò½º ÄÚµåµéÀº IE6 ÀÌ»ó, FF 1.5 ÀÌ»ó, Opera 9.0 À̻󿡼 Å×½ºÆ® µÈ ³»¿ëÀÔ´Ï´Ù.
function getObjXMLHTTP(){ var xmlhttp = false; if(window.ActiveXObject){ try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e2) { xmlhttp = false; } } }else if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); }else{ xmlhttp = false; } return xmlhttp; }
À§¿¡ ÀÛ¼ºµÈ ÄÚµåµé¿¡ ´ëÇØ °£·«ÇÏ°Ô ºÎ¿¬ ¼³¸íÀ» µå¸®ÀÚ¸é
getObjXMLHTTP() ÇÔ¼ö´Â XMLHttpRequest °´Ã¼¸¦ »ý¼ºÇÏ¿© ±× ÀÚü¸¦ ¹Ýȯ ÇÕ´Ï´Ù.
±×·¯³ª ¸¸¾à ÇØ´ç °´Ã¼¸¦ Áö¿øÇÏÁö ¾Ê´Â ºê¶ó¿ìÀú¶ó¸é false ¸¦ ¹ÝȯÇÏ°Ô µË´Ï´Ù.
À̶§ var xmlhttp ¿Í °°ÀÌ ·ÎÄà º¯¼ö¸¦ ¼±¾ðÇÏ¿© °´Ã¼¸¦ »ý¼ºÇÔÀ¸·Î½á
ºñµ¿±â ¿äûÀÌ Áߺ¹µÉ °æ¿ì¿¡µµ °´Ã¼°¡ ÁßøµÇ¾î »ç¶óÁö´Â°ÍÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù.
¿ì¼± °´Ã¼ »ý¼ºÀ» À§ÇØ ºê¶ó¿ìÀú¿¡¼ ¾î¶°ÇÑ ¹æ½ÄÀ» Áö¿øÇϰí ÀÖ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù.
¸¸¾à activeX °´Ã¼·Î À̸¦ Áö¿øÇÏ´Â ºê¶ó¿ìÀú¶ó¸é new ActiveXObject() ¸Þ¼Òµå¸¦ ÅëÇØ
window ³»À尴ü·Î Áö¿øÇÏ´Â °æ¿ì¶ó¸é new XMLHttpRequest() °´Ã¼·Î À̸¦ »ý¼ºÇÕ´Ï´Ù.
½ÇÁ¦·Î IE7 Àº ÈÄÀÚÀÇ °æ¿ìµµ Á¤»óÀûÀ¸·Î Áö¿øÇÏÁö¸¸ IE °è¿ÀÇ °æ¿ì ÀüÀÚÀÇ ¹æ½ÄÀ¸·Î
±×¿ÜÀÇ ºê¶ó¿ìÀú ¿¡¼´Â ÈÄÀÚÀÇ ¹æ½ÄÀ» »ç¿ëÇÏ¿© °´Ã¼¸¦ »ý¼ºÇϵµ·Ï ÇÏ¿´½À´Ï´Ù.
Â÷ÈÄ¿¡ IE7 »ç¿ëÀÚ°¡ ÁÖ·ù°¡ µÈ´Ù¸é ÈÄÀÚ¸¦ ¸ÕÀú ½ÇÇàÇϴ°ÍÀÌ ÁÁÀº ¹æ¹ýÀÌ µÉµí ÇÕ´Ï´Ù.
±×¸®°í IE ¿¡¼µµ »ç¿ëÀÚ È¯°æ¿¡ µû¶ó »ç¿ë°¡´ÉÇÑ ÇØ´ç °´Ã¼¸íÀÌ ´Ù¸¦ ¼ö Àֱ⠶§¹®¿¡
try ~ catch ±¸¹®À» »ç¿ëÇÏ¿© °¡±ÞÀû ÃÖ½ÅÀÇ ¹öÁ¯ÀÇ °´Ã¼¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çß½À´Ï´Ù.
MS Á¦Ç°º°·Î Áö¿ø °¡´ÉÇÑ XML ÆÄ¼ Á¤º¸ ´Â ÇØ´ç ÆäÀÌÁö¸¦ Âü°íÇϽñ⠹ٶó¸ç
ÀϹÝÀûÀÎ »ç¿ëÀÚÀÇ IE ¿¡¼ »ç¿ëµÉ ¼ö ÀÖ´Â ÆÄ¼´Â À§¿¡ »ç¿ëÇÑ 2°¡Áö ÀÔ´Ï´Ù.
Msxml2.XMLHTTP(msxml3.dll)ÀÌ º¸´Ù ÃÖ½ÅÀÇ ¹öÁ¯À̸ç Microsoft.XMLHTTP(msxml.dll)¿¡ ºñÇØ
±â´É ¹× ¼º´É»óÀÇ ÀåÁ¡ÀÌ ÀÖÀ¸¹Ç·Î °¡±ÞÀû ÃֽйöÁ¯À» »ç¿ëÇϴ°ÍÀÌ ÁÁ½À´Ï´Ù.
´ÙÀ½¿¡´Â ÀÌ·¸°Ô »ý¼ºµÈ XMLHttpRequest °´Ã¼¸¦ »ç¿ëÇÏ¿©
µ¥ÀÌÅ͸¦ ºñµ¿±â·Î ÁÖ°í ¹ÞÀ»¼ö ÀÖµµ·Ï ÇÏ´Â AJAX °´Ã¼¸¦ ÀÛ¼ºÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
Âü°í·Î ¾Æ·¡´Â °¢ ºê¶ó¿ìÀúº°·Î Áö¿øÇϰí ÀÖ´Â xmlHttpRequest °´Ã¼¿¡ ´ëÇÑ ·¹ÆÛ·±½º Á¤º¸À̸ç
¸ðÁú¶ó ¿ª½Ã MSÀÇ IXMLHttpRequest °´Ã¼¸¦ ¸ð¹æÇÏ´Â °ÍÀ» ±× ÁöÇâÁ¡À¸·Î Çϰí ÀÖ´Ù°í ÇÕ´Ï´Ù.
- AJAX ±¸Çö javascript XMLHttpRequest cross browsing
Æ÷½ºÆ® º»¹®
Æ÷½ºÆ® °ü·Ã Ű¿öµå
´ñ±Û/Æ®·¢¹é
À̱ÛÀÇ Æ®·¢¹é ÁÖ¼Ò: http://ez2web.com/blog/tb.asp?seqPost=92 ÀÔ´Ï´Ù.UTF-8 ÀÎÄÚµù Æ®·¢¹éÀÇ °æ¿ì µ¥ÀÌÅͰ¡ ±úÁ® º¸ÀÌÁö¸¸ 24½Ã°£ À̳»¿¡ Á¤»óÀûÀ¸·Î ¼öÁ¤ ÇÕ´Ï´Ù.
½Ã°£ÀÌ Áö³ªµµ Á¤»óÀûÀ¸·Î Æ®ÅùéÀÌ ³²°ÜÁöÁö ¾ÊÀ¸¸é ´ñ±Û·Î ³²°ÜÁÖ¼¼¿ä ¤Ì¤Ì;