Áö±Ý±îÁö º» Ajax °ÀÇ¿¡¼ ¼Ò°³ÇÑ ÁÖÁ¦¸¦ Å©°Ô ³ª¿ÇØ º¸¸é ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.
1. Ajax ¼Ò°³ ¹× ±¸Çö(~4Àå)
2. HTML ÄÚµå °Ë»ç(5Àå)
3. ÀÚ¹Ù½ºÅ©¸³Æ® Å×½ºÆÃ Åø(6Àå)
À̹ø 7Àå¿¡¼´Â ÀÚ¹Ù½ºÅ©¸³Æ®¿¡ ´ëÇÑ µð¹ö±ë ÅøÀ» ¼Ò°³ÇÏ·Á°í ÇÑ´Ù. Ajax °ÀǶó°í ÇØ ³õ°í¼± °è¼Ó ÀÚ¹Ù½ºÅ©¸³Æ® ÇÁ·¹ÀÓ¿÷°ú Åø¸¸ ¼Ò°³ÇÑ´Ù°í ºÒÆòÇÒ »ç¶÷µµ ÀÖÀ» ¼ö ÀÖ´Ù. ÇÏÁö¸¸ Ajax ´Â 4Àå±îÁö Àо »ç¶÷ÀÌ¸é ±×°Í¸¸À¸·Îµµ ±¸ÇöÀº ÃæºÐÇÏ´Ù. µÇÇ®ÀÌ µÇ´Â À̾߱â ÀÌÁö¸¸ ³ª¸ÓÁö´Â ¸ðµÎ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµåÀ̱⠶§¹®¿¡ ÇѴܰè À§·Î ¿Ã¶ó¼±â À§Çؼ´Â Á¤¸» ¸¹Àº °ÍÀ» ¾Ë Çʿ䰡 ÀÖ´Ù.
Ajax ÀÇ °¡Àå Å« Ư¡Àº ¼¹ö¿Í ºñµ¿±â·Î Åë½ÅÇÑ´Ù´Â °ÍÀÌ´Ù. ºñµ¿±â·Î Åë½ÅÇÑ´Ù´Â °ÍÀº °á±¹ ¹é±×¶ó¿îµå·Î ½ÇÇàµÈ´Ù´Â ÀǹÌÀ̹ǷΠÀ¥ »ç¿ëÀÚ »Ó¸¸ ¾Æ´Ï¶ó °³¹ßÀÚ¿¡°Ôµµ µð¹ö±ëÀ» ÇÏ·Á¸é °áÄÚ ½±Áö ¾ÊÀ» °ÍÀÌ´Ù. ºê¶ó¿ìÀúÀÇ ¿äûÀ» ¼¹ö°¡ Á¦´ë·Î ¹Þ°í ÀÖ´ÂÁö, ¼¹ö°¡ ¿äûÀ» ÀûÀýÇÏ°Ô Ã³¸®ÇÏ´ÂÁö, ºê¶ó¿ìÀú¿¡¼ ¼¹öÀÇ µ¥ÀÌÅ͸¦ ¹Þ°í Á¦´ë·Î ó¸®Çϰí Àִ°ÇÁö µîµî ¸íÈ®È÷ ¾Ë±â À§Çؼ´Â ÀÏÀÏÈ÷ ·Î±ëÀ» ³²°Ü¼ ´«À¸·Î È®ÀÎÇϱâ Àü±îÁö´Â ½¬¿îÀÏÀ» ¾Æ´Ò °ÍÀÌ´Ù. µû¶ó¼ À̹ø 7-1Àå¿¡¼´Â ºê¶ó¿ìÀú´Ü¿¡¼ Ajax ¿Í °ü·ÃµÈ XMLHttpRequest Debugging ¶ó´Â ¾ÆÁÖ ³î¶ö¸¸ÇÑ µð¹ö±ë ÅøÀ» ¼Ò°³ÇϰíÀÚ ÇÑ´Ù.
XMLHttpRequest Debugging ÅøÀº Julien Couvreur °¡ ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© ±¸ÇöÇÏ¿´´Ù. ÀÌ ÅøÀ» ÀÌ¿ëÇϱâ À§Çؼ´Â ¾Æ·¡ 2°¡Áö¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù.
ù°, ÆÄÀÌ¾îÆø½ºÀÇ È®Àå±â´ÉÀ» ÀÌ¿ëÇØ¼ GreaseMonkey ¸¦ ¼³Ä¡ÇÑ´Ù. GreaseMonkey ´Â user script ¶ó°í ÇÏ´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ Ãß°¡Çؼ ÇØ´ç À¥ÆäÀÌÁö¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¼³Ä¡¹æ¹ýÀº AJAX °ÀÇ 5-2Àå - FireFox È®Àå±â´ÉÀ» ÀÌ¿ëÇÑ HTML ÄÚµå°Ë»ç À» Âü°íÇÏ¸é µµ¿òÀ» ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
<GreaseMonkey È®Àå±â´ÉÀÌ ¼³Ä¡µÈ ȸé>
µÑ°, ÆÄÀÌ¾îÆø½º ºê¶ó¿ìÀú¸¦ ¿°í ´ÙÀ½ url À» ÀÔ·ÂÇÑ´Ù.
http://blog.monstuff.com/archives/images/XMLHttpRequestDebugging.v1.2.user.js
À§ url Àº XMLHttpRequest debugging ÅøÀ» »ý¼ºÇØÁÖ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÆÄÀÏÀÌ´Ù. ºê¶ó¿ìÀú ȸéÀÇ Install ¹öưÀ» Ŭ¸¯Çϰųª ÆÄÀÌ¾î Æø½ºÀÇ µµ±¸-> Install This User Script ¸Þ´º¸¦ ¼±ÅÃÇÏ¸é µî·ÏµÈ´Ù. ÆÄÀÌ¾î Æø½ºÀÇ µµ±¸ -> Manager User Script ¸Þ´º¸¦ ¼±ÅÃÇÏ¸é ¾Æ·¡¿Í °°ÀÌ µð¹ö°Å°¡ ¼³Ä¡µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.
<XMLHttpRequest Debugging v1.2 °¡ ¼³Ä¡µÈ ȸé>
µð¹ö°Å¸¦ ¼³Ä¡ÇÑ ÈÄ¿¡ Å×½ºÆ® ÇÏ·Á´Â Ajax url ȤÀº µµ¸ÞÀÎÀ» ¾Æ·¡¿Í °°ÀÌ ¹Ýµå½Ã µî·ÏÇØ ÁÖ¾î¾ß µð¹ö°Å¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
<Include pages ¿¡ ajax url À» µî·ÏÇÑ È¸é>
¿©±â±îÁö Á¤»óÀûÀ¸·Î ¼³Ä¡¸¦ ÇÑ ÈÄ¿¡ ÆÄÀÌ¾îÆø½º¸¦ ¶ç¿öº¸¸é ¿À¸¥ÂÊ ÇÏ´Ü¿¡ ¾Æ·¡¿Í °°Àº GreaseMonkey ¾ÆÀÌÄÜÀÌ Çü¼ºµÇ¾úÀ» °ÍÀÌ´Ù.
Include pages ¿¡ ÇØ´çÇÏ´Â url ÀÌ È£ÃâµÇ¸é Ç×»ó XHMHttpRequest Debugging ÅøÀÌ ½ÇÇàµÇ¹Ç·Î Çʿ信 µû¶ó¼ ÀÌ ÅøÀÌ ½ÇÇàµÇ´Â °ÍÀ» ¸·±â À§Çؼ´Â GreaseMonkey ¾ÆÀÌÄÜÀ» Çѹø ´õ Ŭ¸¯Çؼ ºñȰ¼ºÈ ½ÃŰÀÚ.
XMLHttpRequest debbugging ÅøÀº GreaseMonkey ÀÇ Áö¿ø¾øÀÌ´Â ½ÇÇàÀÌ ¾È µÈ´Ù.
ÀÌÁ¦ µð¹ö±ë Åø¿¡ ´ëÇØ¼ »ìÆìº¸ÀÚ. ÆÄÀÌ¾îÆø½º¿¡ Ajax ¸¦ Å×½ºÆ® ÇØ º¼ ¼ö ÀÖ´Â url À» ÀÔ·ÂÇÑ´Ù. 4-9Àå¿¡¼ ¼Ò°³ÇÑ ÀÚµ¿¿Ï¼º ±â´É ¿¹Á¦¸¦ ½ÇÇàÇØ º¸¸é ¾Æ·¡¿Í °°ÀÌ µð¹ö±ë ÅøÀÌ ºê¶ó¿ìÀú¿Í °°ÀÌ ¶ã °ÍÀÌ´Ù.
XMLHttpRequest debugging ÅøÀº Ajax Åë½ÅÀÌ ÀÌ·ç¾îÁ®¾ß °á°ú¸¦ Ç¥½ÃÇØ ÁØ´Ù. µð¹ö±ë ÅøÀº Ajax Åë½Å 1°Ç´ç ¿äû/ÀÀ´ä Á¤º¸¸¦ ÇϳªÀÇ ¹Ú½ºÇü½ÄÀ¸·Î Ç¥½ÃÇÑ´Ù. À§ ±×¸²ÀÇ °æ¿ì, ¹Ú½º Á¤º¸°¡ 4°³À̹ǷΠAjax Åë½ÅÀÌ 4¹ø ÀÌ·ç¾îÁø °ÍÀÌ´Ù. Åø Çì´õºÎºÐ¿¡´Â capture ¶ó´Â ¸Þ´º°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¸Þ´º¸¦ ¼±ÅÃÇØ¾ß¸¸ µð¹ö±ë Á¤º¸°¡ Åø¿¡ º¸ÀÌ°Ô µÇ¹Ç·Î Ç×»ó capture ¸¦ Ŭ¸¯ÇØ µÎÀÚ. ³ª¸ÓÁö ¸Þ´ºµéÀº ±×¸® ¾î·ÆÁö ¾ÊÀ¸´Ï help ¸Þ´º¸¦ ÅëÇØ¼ ÀÍÇôº¸ÀÚ. help ¿¡¼ ´Ù½Ã Ajax ¿äû/ÀÀ´ä ¹Ú½º Á¤º¸¸¦ º¸°í ½ÍÀ¸¸é help ¸¦ Çѹø ´õ Ŭ¸¯ÇÑ´Ù. Åä±Û ½ºÀ§Ä¡¶ó°í º¸¸é µÈ´Ù.
´ÙÀ½Àº µð¹ö±ë ÅøÀÇ ¹Ú½º Á¤º¸¸¦ ÀÚ¼¼È÷ »ìÆìº¸ÀÚ.
À§ ±×¸²À» º¸¸é POST ¹æ½ÄÀ¸·Î AutoCompleteServlet ÀÇ ¼¹öÂÊ ÇÁ·Î±×·¥À» È£ÃâÇßÀ¸¸ç ÀÀ´ä°á°ú´Â 200 OK ·Î Á¤»óÀûÀ¸·Î ¹Þ¾ÒÀ½À» ¾Ë ¼ö ÀÖ´Ù. headers¸¦ Ŭ¸¯Çغ¸ÀÚ.
À§ ±×¸²Àº XMLHttpRequest ÀÇ ¿äûÁ¤º¸ Áß¿¡¼ Çì´õÀÇ Á¤º¸¸¦ º¸¿©ÁÖ°í ÀÖ´Ù. headers ¿·¿¡ ÀÖ´Â body ¸¦ Ŭ¸¯ÇØ º¸ÀÚ.
À§ ±×¸²Àº XMLHttpRequest ÀÇ ¿äûÁ¤º¸ Áß¿¡¼ body ÀÇ Á¤º¸¸¦ º¸¿©ÁÖ°í ÀÖ´Ù. POST ¹æ½ÄÀ̹ǷΠname=value ½ÖÀº ¿äûÁ¤º¸ÀÇ body ¿¡ ÀúÀåµÇ¾î ¼¹ö·Î Àü´ÞµÈ´Ù. name Àº names À̰í value Àº Çѱ۷Π"½ºÅ¸"¸¦ ÀÔ·ÂÇßÀ¸¹Ç·Î encodeURI ÀÚ¹Ù½ºÅ©¸³Æ® ¸Þ¼Òµå¿¡ ÀÇÇØ¼ UTF-8 ¹æ½ÄÀ¸·Î ÀÎÄÚµù µÇ¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù. body ¿·¿¡ ÀÖ´Â edit&replay ¸¦ Ŭ¸¯ÇØ º¸ÀÚ.
À§ ±×¸²À» º¸¸é µð¹ö±ë ÅøÀº ¸Þ¼Òµå ŸÀÔ(POST/GET) °ú ¼¹öÂÊ È£Ãâ ÇÁ·Î±×·¥¸í, ÆÄ¶ó¹ÌÅÍÀÇ name=value ½ÖÀÇ Á¤º¸¸¦ ¼öÁ¤Çؼ ´Ù½Ã ¼¹ö·Î ¿äûÀ» º¸³¾ ¼ö´Â ±â´Éµµ °®Ãß°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ÀÌÁ¦´Â ÀÀ´äÁ¤º¸ÀÇ headers ¸¦ Ŭ¸¯ÇØ º¸ÀÚ.
À§ ±×¸²Àº ¼¹ö¿¡¼ Àü´ÞµÈ ÀÀ´äÁ¤º¸ÀÇ Çì´õºÎºÐÀ» º¸¿©ÁÖ°í ÀÖ´Ù. ±× ¿·¿¡ ÀÖ´Â response ¸¦ Ŭ¸¯Çغ¸ÀÚ.
À§ ±×¸²Àº ¼¹ö¿¡¼ Àü´ÞµÈ ÀÀ´äÁ¤º¸ÀÇ µ¥ÀÌÅ͸¦ º¸¿©ÁÖ°í ÀÖ´Ù. ±× ¿·¿¡ ÀÖ´Â callback À» Ŭ¸¯Çغ¸ÀÚ.
À§ ±×¸²Àº XHR °´Ã¼ÀÇ ºñµ¿±â ¸Þ¼Òµå Áß¿¡¼ Äݹé¸Þ¼ÒµåÀÇ Äڵ带 º¸¿©ÁÖ°í ÀÖ´Ù. Äݹé¸Þ¼Òµå´Â XHR °´Ã¼ÀÇ onreadystatechange ¼Ó¼º¿¡ ÇÒ´çµÇ´Â ¸Þ¼Òµå·Î XHR °´Ã¼°¡ ¼¹ö¿Í ºñµ¿±â Åë½ÅÀ» ÇÒ¶§ °¢ ´Ü°èº° »óŰªÀÇ º¯È¿¡ µû¶ó ÀÀ´äÀ» ó¸®ÇØ ÁÖ´Â ¸Þ¼Òµå·Î °³¹ßÀÚ°¡ Á¤È®ÇÏ°Ô ±¸ÇöÀ» ÇØÁÖ¾î¾ß ÇÏ´Â ºÎºÐÀÌ´Ù. ±× ¿·¿¡ ÀÖ´Â replay À» Ŭ¸¯ÇØ º¸ÀÚ.
replay ¸¦ Ŭ¸¯Çϸé À§ ±×¸²°ú °°Àº ¿µ¿ªÀÇ ¹Ú½º°¡ Ãß°¡µÈ´Ù. À§ ¹Ú½º¸¦ Ŭ¸¯Çϸé ÇØ´ç ÄÝ¹é ¸Þ¼Òµå°¡ ´Ù½Ã È£ÃâµÈ´Ù.
Simple is the best ¶ó´Â ¾î´À ±¤°í ¹®±¸Ã³·³ XMLHttpRequest debugging ÅøÀÌ ¾î¶°³Ä°í ¹¯´Â´Ù¸é ±×´ë·Î ´ë´äÇØ ÁÖ°í ½Í´Ù. Åø »ç¿ë¹ýµµ ±×¸® ¾î·ÆÁö ¾ÊÀ¸´Ï Ajax °³¹ß¿¡ Á» ´õ ÀڽۨÀ» °¡Á®º¸ÀÚ.