ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. Ajax´Â javascript ±â¼úÀ» Áß¿äÇÏ°Ô »ç¿ëÇϴµ¥, javascript´Â ºê¶ó¿ìÀú¸¶´Ù Áö¿ø³»¿ëÀÌ Æ²¸®´Ù. IE´Â Ç¥ÁØÀ» ÁöŰÁö ¾Ê´Â °ÍÀ¸·Î À¯¸íÇѵ¥, ÀÌ ¹®¼´Â °¡´ÉÇÑ Ç¥ÁØÀ» Áö۵µ·Ï ³ë·ÂÇÒ °ÍÀÌ´Ù. ¸ðµç ¼³¸í°ú Å×½ºÆ®´Â firefox¸¦ ±âÁØÀ¸·Î ÀÌ·ç¾îÁú °ÍÀÌ´Ù. IEÁö¿ø¿¡ ´ëÇÑ ³»¿ëÀº ½Ã°£ÀÌ ³²À¸¸é ´Ù·ç¾îº¸µµ·Ï ÇϰڴÙ. 1 Ajax ¼Ò°³
Ajax´Â Asynchronous Javascript And XML ÀÇ ÁÙÀÓ¸»ÀÌ´Ù. »õ·Î¿î ±â¼úó·³ ¾ê±âÇϰí ÀÖÁö¸¸ (Áö±Ý±îÁö ¾Ë¾Æº» ¹Ù·Î´Â) Ưº°È÷ »õ·Î¿î ±â¼úÀ̶ó°í º¸±â´Â Èûµç°Å °°´Ù. ½Ã½ºÅÛ/³×Æ®¿öÅ© ÇÁ·Î±×·¡¸ÓÀÎ ÇÊÀÚÀÇ ÀÔÀå¿¡¼ º¸ÀÚ¸é HTMLÀÇ ´ÜÁ¡ÀÎ ÆûÀ» ä¿ö¼ ³Ñ±â¸é °á°ú¹°·Î µÇµ¹·Á ¹ÞÀº ÆäÀÌÁö¸¦ Ãâ·ÂÇϴ¹®Á¦Á¡À» ÇØ°áÇϱâ À§Çؼ, ¼ÒÄÏÅë½ÅÀ» »ì¦Äô ³¢¿ö ³õÀº Á¤µµ·Î º¸ÀδÙ.
Áï ¿¬°áÀ» ²÷Áö ¾Ê°í, ¼¹ö¿Í Åë½ÅÇÏ¸é¼ µ¿ÀûÀ¸·Î Á¤º¸¸¦ Àü´Þ¹Þ¾Æ¼ »óÈ£ÀÛ¿ëÇÏ´Â À¥¼ºñ½ºÀÇ ¼³°è°¡ °¡´ÉÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ¼¹ö¿ÍÀÇ Åë½ÅÀº TCP/IP¸¦ ÀÌ¿ëÇϰí, Åë½Å¿¡ »ç¿ëµÇ´Â Á¤º¸´Â XMLÀ» ÀÌ¿ëÇÑ´Ù. Áï Ajax´Â »õ·Î¿î ±â¼úÀ̶ó±â º¸´Ù´Â
1.1 Ajax°¡ »ç¿ëµÇ´Â ÀÌÀ¯
¾ÖÇø®ÄÉÀ̼ÇÀ» ¿µ¿ªº°·Î ³ª´«´Ù¸é, Å©°Ô µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ǰú À¥ ¿¡Çø®ÄÉÀ̼ÇÀ¸·Î ³ª´ ¼ö ÀÖÀ» °ÍÀÌ´Ù. µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀº ÀϹÝÀûÀ¸·Î °³ÀÎ PC¿¡¼ ½ÇÇàµÇ¸ç, ¸Å¿ì ºü¸£°í °á°ú°¡ Áï½ÃÀûÀÌ´Ù. ±×·¯³ª ½ÇÇàÀ» À§Çؼ ¹Ýµå½Ã ¼³Ä¡µÇ¾î¾ß Çϸç, ÃÖ½ÅÀÇ Á¤º¸¸¦ ¾ò¾î³»±â°¡ Èûµé´Ù¶ó´Â ´ÜÁ¡À» °¡Áø´Ù. »óÈ£ÀÛ¿ë °¡´ÉÇÑ À¯·ÁÇÏ°í ºü¸¥ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â °ÍÀº µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °¡Àå Å« ÀåÁ¡À̶ó ÇϰڴÙ.
À¥ ¾ÖÇø®ÄÉÀ̼ÇÀº µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ǿ¡ ºñÇØ¼ ´À¸®°í ºÒÆíÇÑ ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í ÀÖÀ¸¸ç, ¹ÝÀÀ¼Óµµ ¿ª½Ã ´À¸®´Ù¶ó´Â ´ÜÁ¡À» °¡Áö°í ÀÖ´Ù. ¹Ý¸é ¾îµð¿¡¼³ª °£´ÜÈ÷ ¼ºñ½º ¹ÞÀ» ¼ö ÀÖÀ¸¸ç, ÃÖ½ÅÀÇ Á¤º¸¸¦ ½±°Ô ¾òÀ» ¼ö ÀÖ°í, »õ·Î¿î ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé±â°¡ ¸Å¿ì ½±´Ù´Â ÀåÁ¡À» °¡Áø´Ù. ƯÈ÷ ¾îµð¿¡¼³ª °£´ÜÈ÷ »ç¿ëÇÒ ¼ö ÀÖ°í, ÃÖ½ÅÀÇ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù´ÂÀåÁ¡Àº ¿©·¯ ´ÜÁ¡¿¡µµ ºÒ±¸Çϰí À¥¾ÖÇø®ÄÉÀ̼ÇÀ» ¼±È£ÇÏ°Ô µÇ´Â ¸Å¿ì °áÁ¤ÀûÀÎ ¿äÀÎÀÌ´Ù.
³×Æ®¿öÅ· ȯ°æÀÌ ÁÁ¾ÆÁö¸é¼ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀåÁ¡ÀÌ Á¡Á¡ ºÎ°¢µÇ¸é¼, À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼öÁØÀ¸·Î ¿Ã¸®·Á´Â ½Ãµµ°¡ ÀÖ°Ô µÇ¾ú°í, °á±¹ Ajax°¡ Ç¥ÁØÀûÀÎ ±â¼ú·Î µîÀåÇÏ°Ô µÈ´Ù.
À̻󿡼 Ajax¶õ À¥ ¾ÖÇø®ÄÉÀ̼ǰú µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °£°ÝÀ» ÁÙ¿©ÁÖ±â À§ÇÑ ±â¼úÀ̶ó´Â°É ´«Ä¡Ã«À» °ÍÀÌ´Ù. Ajax ±â¼úÀÌ »ç¿ëµÈ google docs°ú google mapÀ» »ç¿ëÇØ º¸¸é, È®½ÇÈ÷ ±× °£°ÝÀÌ Á¼ÇôÁö°í ÀÖÀ½À» ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
Ajax°¡ ÇÊ¿äÇÑ ¶Ç´Ù¸¥ ÀÌÀ¯´Â ±× È®À强°ú °³¹æ¼º¿¡ ÀÖ´Ù. ¾×Ƽºê¿¢½º, ÀÚ¹Ù¾ÖÇø´, Ç÷º½º¸¦ ÀÌ¿ëÇØµµ Ajax°¡ ÇÏ·Á°í Çß´ø°Í°ú ºñ½ÁÇÑ ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌµé ±â¼úÀº È®ÀåÀÌ ¿ëÀÌÇÏÁö ¾Ê°í Æó¼âµÇ¾î ÀÖ´Ù´Â Å« ´ÜÁ¡À» °¡Áø´Ù. À§ÀÇ ±â¼úÀ» Á¦´ë·Î Ȱ¿ëÇϱâ À§Çؼ´Â Ç÷¿ÆûÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß Çϰųª, ´Ù¿î·Îµå ¹Þ¾Æ¾ß ÇÏ´Â µîÀÇ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. PC¸¦ ¹Ù²Ù±â¶óµµ ÇÏ¸é »õ·Î ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ƯÁ¤ÇÑ ¿î¿µÃ¼Á¦°¡ ¾Æ´Ï¸é ¾Æ¿¹ ÀÛµ¿ÇÏÁö ¾Ê´Â °æ¿ìµµ ¹ß»ýÇÑ´Ù.
¹Ý¸é Ajax´Â XML°ú ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ÀÀ¿ëÀ¸·Î °³¹æ¼º°ú ¶Ù¾î³ È®À强À» °¡Áø´Ù. ±âº»ÀûÀ¸·Î ºê¶ó¿ìÀú¸¸ ÀÖ´Ù¸é, º°´Ù¸¥ ¼ö°í ¾øÀÌ ¾î¶°ÇÑ PC¿¡¼¶óµµ ½ÇÇàµÉ ¼ö ÀÖ´Ù.
½ÇÁ¦ Ajax´Â ±âÁ¸ÀÇ Ç÷¹½¬¿Í ¾×Ƽºê¿¢½º¸¦ À§ÇùÇϰí ÀÖ´Ù. ¼±ºÀÀåÀº ¿ª½Ã ±¸±ÛÀÌ´Ù. ±¸±ÛÀÌ Ajax¿¡ Àû±ØÀûÀÎ ÀÌÀ¯´Â '»ç¿ëÀÚ¸¦ ºÒÆíÇÏ°Ô ÇÏ´Â ÇൿÀº ÇÏÁö ¾Ê°Ú´Ù'¶ó´Â ±¸±ÛÀÇ Ã¶Çп¡¼ ½ÃÀ۵ȴÙ.
¿©·¯ºÐÀÌ ±¹³» ´ëÇü Æ÷Å»»çÀÌÆ®¿¡ °¡ÀÔÀ» Çß´Ù°í °¡Á¤Çغ¸ÀÚ. Æ÷Å» »çÀÌÆ®ÀÇ ¼ºñ½º¸¦ Á¦´ë·Î ÀÌ¿ëÇϱâ À§Çؼ´Â °ÅÀÇ 10ºÐ µ¿¾È ¸¹°Ô´Â 10°³ °¡·®ÀÇ ÇÁ·Î±×·¥ ¼³Ä¡¿Í °ü·ÃµÈ ¾È³»¹®À» ¸¸³ª¾ß ÇÑ´Ù. À̵é ÇÁ·Î±×·¥Àº ¹«½¼ÀÏÀ» ÇÏ´ÂÁö ¾Ë ¼ö ¾øÀ¸¸ç, ½ºÆÄÀÌ¿þ¾îó·³ ÇൿÇÏ´Â ÇÁ·Î±×·¥µµ ÀÖ´Ù. ½ÉÁö¾î´Â »ç¿ëÀÚÀÇ ÄÄÇ»Å͸¦ ´À¸®°Ô ¸¸µé±âµµ ÇÑ´Ù. ±×·¸´Ù°í Ưº°ÇÑ ¼ºñ½ºµµ ¾Æ´Ï´Ù. ´º½º, ºí·¯±×, À¥¸ÞÀÏ, Ä¿¹Â´ÏƼ¸¦ À§ÇÑ ÈçÇÑ ¼ºñ½ºµéÀÌ´Ù. ÀÌ·¯ÇÑ ÀÏÀÌ Æ÷Å»»çÀÌÆ®¿¡ Á¢¼Ó ȤÀº ·Î±×ÀÎ ÇÒ ¶§¸¶´Ù ¹ß»ýÇÑ´Ù. ÀÌ·¯ÇÑ ÇÁ·Î±×·¥µéÀº ¸ðµÎ ActiveX ±â¼ú·Î ¸¸µé¾îÁ³À¸¸ç, ±¹³» »çÀÌÆ®´Â À¯µ¶ ActiveX¿¡ ´ëÇÑ ÀÇÁ¸ÀÌ ½ÉÇÑ ÆíÀÌ´Ù.
¹Ý¸é ±¸±ÛÀº ¾î¶² ¼ºñ½º¸¦ ÀÌ¿ëÇÏ´õ¶óµµ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå ¹ÞÀ» Çʿ䰡 ¾ø´Ù. ·Î±ä Çѹø ÇØÁÖ¸é ³¡ÀÌ´Ù. ´Ù¸¥ »çÀÌÆ®µéµµ °á±¹Àº Ajax¸¦ ÀÌ¿ëÇÏ´Â ¹æÇâÀ¸·Î ¿òÁ÷ÀÏ °Å¶ó°í »ý°¢µÈ´Ù. 1.2 AjaxÀÇ ´ÜÁ¡
°³¹ßÀÚ°¡ ½Å°æ½á¾ß ÇÒ°Ô ¸¹´Ù: °³¹ßÀÚ´Â Cross Browsing¿¡ ´ëÇÑ Áö½ÄÀÌ ÇÊ¿äÇÏ´Ù. »ç½Ç W3CÀÇ ±Ç°í¾È¸¸ Àß ÁöÄѳ½´Ù¸é, Å©°Ô ¹®Á¦µÇÁö ¾ÊÀ» °Í °°±âµµÇÏ´Ù. ±×·¯³ª ¾ÐµµÀûÀÎ IE¸¦ »ç¿ëÇϴ ȯ°æ¿¡¼ MSÀÇ ¿©·¯°¡Áö ºñÇ¥Áؾȿ¡ Àͼ÷ÇÑ °³¹ßÀÚµéÀÌ ¸¹´Ùº¸´Ï ¹®Á¦°¡ µÈ´Ù. ¶ÇÇÑ Ajax¸¦ Áö¿øÇÏÁö ¾ÊÀº ºê¶ó¿ìÀú¿¡ ´ëÇØ¼µµ Á» ´õ ¼¼½ÉÇÑ °üÂûÀÌ ÇÊ¿äÇØÁø´Ù. ·Î±×ÀÎ °úÁ¤À» Ajax·Î ÇØ³ùÀ» °æ¿ì, w3m, lynx °°Àº ºê¶ó¿ìÀú¿¡¼´Â ¾Æ¿¹ ·Î±äÁ¶Â÷ ¸øÇÏ´Â »çŰ¡ ¹ß»ýÇÑ´Ù.
ºÏ¸¶Å·ÀÌ ¾î·Æ´Ù : Ajax¸¦ ÀÌ¿ëÇÒ °æ¿ì »õ·Î¿î ÆäÀÌÁö¸¦ ¸¸µéÁö ¾Ê°í Á¤º¸¸¦ Ãâ·ÂÇÏ´Â°Ô °¡´ÉÇØÁø´Ù. À̰æ¿ì ºÏ¸¶Å·¿¡ ¾î·Á¿òÀ» ´À³¥ ¼ö ÀÖ´Ù. ºÏ¸¶Å© ¹öưÀ» ÆäÀÌÁö ¾È¿¡ µðÀÚÀÎ ÇØÁÖ¸é ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö´Â ÀÖÁö¸¸, »ç¿ëÀÚ ÀÔÀå¿¡¼´Â ÁÁÀº ¹æ¹ýÀÌ ¾Æ´Ï´Ù.
»ó¾÷ÀûÀÎ ¹®Á¦ : ¸¹Àº »çÀÌÆ®µéÀÌ ¹è³Ê±¤°í¸¦ ÅëÇØ¼ ¼öÀÍÀ» ¾ò°í ÀÖ´Ù. ¹è³Ê±¤°íÀÇ »ý¸íÀº ´Ù¾çÇÑ Á¾·ùÀÇ ±¤°í¸¦ ÆäÀÌÁö ³»¿ëÀÇ ¼º°Ý¿¡ ¸Âµµ·Ï ³ëÃâ½Ã۴µ¥ ÀÖ´Ù. Ajax´Â ÆäÀÌÁö ¸®·Îµå °úÁ¤ÀÌ »ý·«µÉ ¼ö Àִµ¥, ¶§¹®¿¡ ±¤°í°¡ °íÁ¤µÇ°Å³ª ÆäÀÌÁöÀÇ ³»¿ë¿¡ ¸ÂÁö ¾Ê´Â ±¤°í°¡ ³ëÃâµÉ ¼ö ÀÖ´Ù.
º¸¾È¹®Á¦ : AjaxÀÇ XMLHttpRequest´Â GET, POST¸¦ ÀÌ¿ëÇØ¼ µ¥ÀÌÅ͸¦ ±³È¯ÇÑ´Ù. ¶§¹®¿¡ µ¥ÀÌÅ͸¦ ´©±º°¡ °¡·Îç ¼ö ÀÖ´Ù (ÀÌ ¹®Á¦´Â AjaxÀÇ ¹®Á¦¶ó±â º¸´Ù´Â TCP/IP °¡ °¡Áö´Â ±Ùº»ÀûÀÎ ¹®Á¦¶ó°í º¼ ¼ö ÀÖ´Ù.) °¡Àå ÃÖ¼±ÀÇ ¹æ¹ýÀº SSL¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù.
°Ë»öÀÇ ¾î·Á¿ò : ÇöÀçÀÇ °Ë»ö¿£Áø¿¡ »ç¿ëµÇ´Â ·Îº¿µéÀº hypertextÀÇ link¸¦ ÀÌ¿ëÇØ¼ ¹®¼¸¦ crawling ÇÑ´Ù. ¶§¹®¿¡ Ajax¸¦ ÀÌ¿ëÇØ¼ ÄÁÅÙÃ÷¸¦ Ž»öÇÏ´Â »çÀÌÆ®ÀÇ °æ¿ì °Ë»ö¿£Áø¿¡ ³ëÃâµÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. link±â¹ÝÀÇ °Ë»öµµ °¡´ÉÇϵµ·Ï ÆäÀÌÁö¸¦ µðÀÚÀÎ ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ·Îº¿ÀÌ ´õ ¶È¶ÈÇØ Áö±æ ±â´Ù¸®´Â ¹æ¹ýµµ ÀÖ°Ú´Ù. 2 Ajax ±âÃÊ
±×·³ Ajax¸¦ ½ÇÁ¦·Î ÀÍÇôº¸µµ·Ï ÇÏÀÚ. Ajax´Â javascript·Î Á¦¾îµÇ¸ç, XMLHttpRequest·Î ¸ðµç°Ô ½ÃÀ۵ȴÙ. °¡Àå Áß¿äÇÑ °´Ã¼¶ó°í ÇÒ ¼ö ÀÖ´Ù. 2.1 XMLHttpRequest °´Ã¼¿Í »ý¼º
XMLHttpRequest °´Ã¼´Â À̸§¿¡¼ ´À³¥ ¼ö ÀÖµíÀÌ, XML°ú HTTP ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇØ¼ ¼¹ö¿Í Åë½ÅÇÏ´Â °´Ã¼ÀÌ´Ù. XMLHttpRequest °´Ã¼´Â ´ÙÀ½°ú °°ÀÌ »ý¼ºÇÒ ¼ö ÀÖ´Ù. <script language="javascript" type="text/javascript"> var xmlHttp = new XMLHttpRequest(); </script>
ÀϹÝÀûÀ¸·Î À¥¿¡¼ ¼¹öÃø¿¡ °á°ú¸¦ ¿äûÇϱâ À§Çؼ´Â POST¹æ½ÄÀ» ÀÌ¿ëÇØ¼ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°Ô µÈ´Ù. ÀÏ¹Ý µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀ̶ó¸é ȸéÀº ±×´ë·Î ÀÖ°í, ³»ºÎÀûÀ¸·Î µ¥ÀÌÅ͸¸ ¿òÁ÷À̰ÚÁö¸¸ À¥ÀÇ °æ¿ì ÆäÀÌÁö ÀÚü¸¦ À̵¿ÇÏ°Ô µÈ´Ù. ±×·¯´Ùº¸´Ï ½ºÅ©¸°ÀÌ ±ôºýµÇ°Å³ª, Á¤ÁöµÇ°Å³ª ÇÏ´Â ÀÏÀÌ ¹ß»ýÇÑ´Ù.
XMLHttpRequest °´Ã¼´Â µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±×°Íó·³, ȸé(ÆäÀÌÁö)ÀÚü¸¦ ÀüȯÇÏÁö ¾Ê°í ³»ºÎÀûÀ¸·Î µ¥ÀÌÅ͸¸ Àü¼ÛÇϸç, À̰ÍÀº Ŭ¶óÀÌ¾ðÆ®°¡ ´«Ä¡ äÁö ¸øÇÏ°Ô ÀÌ·ç¾îÁø´Ù. ±×·¡¼ ȸéÀÌ ¸®ÇÁ·¹½¬ ȤÀº Á¤ÁöµÇ°Å³ª ÇÏ´Â ÀÏ ¾øÀÌ, ¸¶Ä¡ µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀ̼ÇÀ» »ç¿ëÇÏ´Â °Íó·³, ¿äû°ú ÀÀ´äÀÌ ÀÌ·ç¾îÁø´Ù. À¥°ú µ¥½ºÅ©Å¾ ¸ðµÎÀÇ ÀåÁ¡À» °¡Áø À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¸¸µé¾îÁö´Â °ÍÀÌ´Ù.
ÀÏ´Ü XMLHttpRequest¸¦ Á¦¾îÇÏ°Ô µÇ¾ú´Ù¸é, ³ª¸ÓÁö´Â ÀϹÝÀûÀÎ javascript±â¼úÀÌ´Ù. javascript¸¦ ÀÌ¿ëÇØ¼ ÀÀ´ä°ªÀ» ƯÁ¤ form¿¡ Ãâ·ÂÇϰųª, tableÀ» Á¦¾îÇÏ´Â µîÀÇ ÀÏÀ» ÇÏ°Ô µÈ´Ù.
¿¹¸¦ µé¾î »ç¿ëÀÚÀÇ Á¤º¸¸¦ ÀԷ¹޴ ÆûÀ¸·Î ºÎÅÍ ÀԷ°ªÀ» ¾ò¾î¿À±æ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù. var name = document.getElementById("name").value;
var addr = document.getElementById("addr").value;
2.2 Ajax¿¡¼ÀÇ ¿äû°ú ÀÀ´ä
Ajax´Â À¥¿¡¼ »ç¿ëÇÏ´Â ¿äû°ú ÀÀ´ä°ú´Â Â÷À̰¡ ¸¹À¸¸ç, ÀϹÝÀûÀÎ C/S ÇÁ·Î±×·¥¿¡¼ »ç¿ëµÇ´Â ³×Æ®¿öÅ© Åë½Å°ú ºñ½ÁÇÑ Ãø¸éÀÌ ÀÖ´Ù. À̰ÍÀ» ´ÜÁö javascript¸¦ ÅëÇØ¼ Á¦¾îÇÑ´Ù´Â Â÷À̰¡ ÀÖÀ» »ÓÀÌ´Ù. (¹°·Ð ³»ºÎÀûÀ¸·Ð ´Ù¸¥ Â÷À̵éÀÌ ÀÖ°ÚÁö¸¸, ¿ì¼±Àº ÀÌ·¸°Ô ÀÌÇØÇÏÀÚ)
¾Õ¿¡¼ XMLHttpRequest°´Ã¼¸¦ »ý¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë¾ÆºÃÀ¸´Ï, ½ÇÁ¦ ¿äû°ú ÀÀ´äÀÌ ¾î¶»°Ô ÀÌ·ç¾îÁö´Â Áö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. ¿äû°ú ÀÀ´äÀ» È®ÀÎÇϱâ À§Çؼ ´ÙÀ½°ú °°Àº ÆäÀÌÁö¸¦ ÁغñÇϵµ·Ï ÇϰڴÙ. <html>
<body>
<input type=text name=a size=4> + <input type=text name=b size=4> =
<input type=text name=result size=5>
</body>
</html>
2.2.1 ¿äûº¸³»±â
function Request() { var a = document.getElementByld("a").value; var b = document.getElementByld("b").value; if ((a == null) || (b == null)) return; var url = "ajaxsum.php?a="+escape(a)+"&b="+escape(b); // ¼¹ö¿¡ ¿¬°áÇÑ´Ù. xmlHttp.open("GET", url, true); // ÄݹéÇÔ¼öÀÇ µî·Ï xmlHttp.onreadystatechange = updatePage; // ¿äûÀ» º¸³½´Ù. xmlHttp.send(null); } 2.2.2 ¿äûó¸®
ÀÌÁ¦ ¿äû󸮸¦ À§ÇÑ updatePageÄݹéÇÔ¼ö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸ÀÚ. function updatePage ()
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var response = xmlHttp.responseText;
document.getElementById("result").value = response;
}
else if (xmlHttp.status == 404)
{
alert("Page Not Found");
}
else
{
alert("Server Error!");
}
}
}
¸ðµç Á¦´ë·ÎµÈ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ±×·¸µíÀÌ Ajax¿¡¼µµ ¿ª½Ã ¹ß»ýÇÒÁö ¸ð¸£´Â ¿¡·¯¸¦ ó¸®Çϱâ À§ÇÑ ¹æ¹ýÀ» °¡Áö°í ÀÖ´Ù.
readyState¸¦ ÀÌ¿ëÇØ¼ ¼¹öÀÇ ÁøÇà»óŸ¦ ¾Ë ¼ö ÀÖ´Ù. readyState°¡ 4¶ó¸é ¸ðµç ÀÛ¾÷ÀÌ ³¡³µÀ½À» ÀǹÌÇÑ´Ù.
status¸¦ ÀÌ¿ëÇØ¼ ¼¹öÀÇ »óŸ¦ ¾Ë ¼ö ÀÖ´Ù. »ç¿ëµÇ´Â ÄÚµå´Â HTTPÀÇ »óŵéÀ» ³ªÅ¸³»´Â ÄÚµå´Ù. 200À̶ó¸é Á¤»óó¸®, 404¶ó¸é ÆäÀÌÁö Á¸ÀçÇÏÁö ¾ÊÀ½ÀÇ »óŸ¦ ³ªÅ¸³½´Ù.
responseText¸¦ ÀÌ¿ëÇØ¼ ÀоîµéÀÎ µ¥ÀÌÅ͸¦ ¾ò¾î¿Ã ¼ö ÀÖ´Ù. 2.2.3 ½Ç Å×½ºÆ®
´ÙÀ½Àº Ajax¸¦ ÀÌ¿ëÇØ¼ µ¡¼À °è»ê°á°ú¸¦ º¸¿©ÁÖ´Â ¿ÏÀüÇÑ ÄÚµå´Ù. <html>
<head>
<script language="JavaScript" type="text/javascript">
var xmlHttp=false;
try
{
xmlHttp = new XMLHttpRequest();
} catch (failed)
{
xmlHttp = false;
}
if (!xmlHttp)
{
alert("Error initializing XMLHttpRequest!");
exit;
}
function Request()
{
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
if ((a == null) || (b == null)) return;
var url = "/ajaxsum.php?a="+escape(a)+"&b="+escape(b);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}
function updatePage()
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var response = xmlHttp.responseText;
document.getElementById("result").value = response;
}
else if (xmlHttp.status == 404)
{
alert("Page Not Found");
}
else
{
alert("Server Error!");
}
}
}
</script>
</head>
<body>
<form>
<input type=text id=a name=a size=4> + <input type=text id=b name=b size=4> =
<input type=text id=result name=result size=5>
<!--<a href="" onClick=Request(this)>Test</a>-->
<input type=button onclick=Request(this) value=Test>
</form>
</body>
</html>
´ÙÀ½Àº ¼¹öÃø ÇÁ·Î±×·¥À¸·Î php·Î ÀÛ¼ºµÇ¾ú´Ù. ¾ÆÁÖ °£´ÜÇÏ´Ù echo $a + $b;
ÇÊÀÚÀÇ »çÀÌÆ®¿¡ Àû¿ëµÈ ¿¹´Ù. 2.3 ºê¶ó¿ìÀú ȣȯ¼º
ºñµ¿±â Åë½ÅÀ» À§ÇÑ Ajax °´Ã¼¸¦ »ý¼º½ÃŰ´Â ¹æ¹ýÀº IE Firefox°¡ ¼·Î ´Ù¸£´Ù. ±×·¯¹Ç·Î Ajax ÀÀ¿ëÀ» ¸¸µé¶§´Â °¢ ºê¶ó¿ìÀú¿¡ ¸Â´Â Ajax ½ÇÇà¹æ¹ýÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ÀåÄ¡¸¦ ¸¶·ÃÇØµÎ¾î¾ß ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ °£´ÜÇϰÔ, ºê¶ó¿ìÀú°£ ȣȯ°¡´ÉÇÑ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. var xmlHttp=false;
if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (!xmlHttp)
{
alert("Error initializing XMLHttpRequest!");
exit;
}
2.4 XMLHttpRequest IDL
XMLHttpRequest°´Ã¼¸¦ Interface Definition Language Çü½ÄÀ¸·Î ³ªÅ¸³»º¸¾Ò´Ù.
interface XMLHttpRequest {
attribute EventListener onreadystatechange;
readonly attribute unsigned short readyState;
void open(in DOMString method, in DOMString url);
void open(in DOMString method, in DOMString url, in boolean async);
void open(in DOMString method, in DOMString url, in boolean async, in DOMString user);
void open(in DOMString method, in DOMString url, in boolean async, in DOMString user, in DOMString password);
void setRequestHeader(in DOMString header, in DOMString value);
void send();
void send(in DOMString data);
void send(in Document data);
void abort();
DOMString getAllResponseHeaders();
DOMString getResponseHeader(in DOMString header);
readonly attribute DOMString responseText;
readonly attribute Document responseXML;
readonly attribute unsigned short status;
readonly attribute DOMString statusText;
};
ÀÌ ¹®¼°¡ µµ¿òÀÌ µÇ¾ú³ª¿ä ? |
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|