µ±Ç°Ò³Ãæ: ¿ª·¢×ÊÁÏÊ×Ò³ ¡ú Java רÌâ ¡ú ʹÓÃJavaScriptºÍAJAX·¢³öÒì²½ÇëÇó
ʹÓÃJavaScriptºÍAJAX·¢³öÒì²½ÇëÇó
ÕªÒª: ¶àÊý Web Ó¦ÓóÌÐò¶¼Ê¹ÓÃÇëÇó/ÏìӦģÐÍ´Ó·þÎñÆ÷ÉÏ»ñµÃÍêÕûµÄ HTML Ò³Ãæ
¡¡¡¡¶àÊý Web Ó¦ÓóÌÐò¶¼Ê¹ÓÃÇëÇó/ÏìӦģÐÍ´Ó·þÎñÆ÷ÉÏ»ñµÃÍêÕûµÄ HTML Ò³Ãæ¡£³£³£Êǵã»÷Ò»¸ö°´Å¥£¬µÈ´ý·þÎñÆ÷ÏìÓ¦£¬ÔÙµã»÷ÁíÒ»¸ö°´Å¥£¬È»ºóÔٵȴý£¬ÕâÑùÒ»¸ö·´¸´µÄ¹ý³Ì¡£ÓÐÁË Ajax ºÍ XMLHttpRequest ¶ÔÏ󣬾ͿÉÒÔʹÓò»±ØÈÃÓû§µÈ´ý·þÎñÆ÷ÏìÓ¦µÄÇëÇó/ÏìӦģÐÍÁË¡£±¾ÎÄÖУ¬Brett McLaughlin ½éÉÜÁËÈçºÎ´´½¨Äܹ»ÊÊÓ¦²»Í¬ä¯ÀÀÆ÷µÄ XMLHttpRequest ʵÀý£¬½¨Á¢ºÍ·¢ËÍÇëÇ󣬲¢ÏìÓ¦·þÎñÆ÷¡£
¡¡¡¡±¾ÎÄÖУ¬Äú½«¿ªÊ¼½Ó´¥×î»ù±¾ºÍ»ù´¡ÐÔµÄÓÐ¹Ø Ajax µÄÈ«²¿¶ÔÏóºÍ±à³Ì·½·¨£ºXMLHttpRequest ¶ÔÏ󡣸öÔÏóʵ¼ÊÉϽö½öÊÇÒ»¸ö¿çÔ½ËùÓÐ Ajax Ó¦ÓóÌÐòµÄ¹«¹²Ị̈߳¬Äú¿ÉÄÜÒѾԤÁϵ½£¬Ö»Óг¹µ×Àí½â¸Ã¶ÔÏó²ÅÄܳä·Ö·¢»Ó±à³ÌµÄDZÁ¦¡£ÊÂʵÉÏ£¬ÓÐʱÄú»á·¢ÏÖ£¬ÒªÕýÈ·µØÊ¹Óà XMLHttpRequest£¬ÏÔÈ»²»ÄÜ Ê¹Óà XMLHttpRequest¡£Õâµ½µ×ÊÇÔõô»ØÊÂÄØ£¿
¡¡¡¡Web 2.0 һƳ
¡¡¡¡ÔÚÉîÈëÑо¿´úÂë֮ǰÊ×ÏÈ¿´¿´×î½üµÄ¹Ûµã ¡ª¡ª Ò»¶¨ÒªÊ®·ÖÇå³þ Web 2.0 Õâ¸ö¸ÅÄî¡£Ìýµ½ Web 2.0 Õâ¸ö´ÊµÄʱºò£¬Ó¦¸ÃÊ×ÏÈÎÊÒ»ÎÊ ¡°Web 1.0 ÊÇʲô£¿¡± ËäÈ»ºÜÉÙÌýÈËÌáµ½ Web 1.0£¬Êµ¼ÊÉÏËüÖ¸µÄ¾ÍÊǾßÓÐÍêÈ«²»Í¬µÄÇëÇóºÍÏìӦģÐ͵Ĵ«Í³ Web¡£±ÈÈ磬µ½ Amazon.com ÍøÕ¾Éϵã»÷Ò»¸ö°´Å¥»òÕßÊäÈëËÑË÷Ïî¡£¾Í»á¶Ô·þÎñÆ÷·¢ËÍÒ»¸öÇëÇó£¬È»ºóÏìÓ¦ÔÙ·µ»Øµ½ä¯ÀÀÆ÷¡£¸ÃÇëÇó²»½ö½öÊÇͼÊéºÍÊéÄ¿ÁÐ±í£¬¶øÊÇÁíÒ»¸öÍêÕûµÄ HTML Ò³Ãæ¡£Òò´Ëµ± Web ä¯ÀÀÆ÷ÓÃÐ嵀 HTML Ò³ÃæÖØ»æÊ±£¬¿ÉÄܻῴµ½ÉÁ˸»ò¶¶¶¯¡£ÊÂʵÉÏ£¬Í¨¹ý¿´µ½µÄÿ¸öÐÂÒ³Ãæ¿ÉÒÔÇåÎúµØ¿´µ½ÇëÇóºÍÏìÓ¦¡£
¡¡¡¡Web 2.0£¨Ôںܴó³Ì¶ÈÉÏ£©Ïû³ýÁËÕâÖÖ¿´µÃ¼ûµÄÍù¸´½»»¥¡£±ÈÈç·ÃÎÊ Google Maps »ò Flickr ÕâÑùµÄÕ¾µã£¨µ½ÕâЩ֧³Ö Web 2.0 ºÍ Ajax Õ¾µãµÄÁ´½ÓÇë²ÎÔÄ ²Î¿¼×ÊÁÏ£©¡£±ÈÈçÔÚ Google Maps ÉÏ£¬Äú¿ÉÒÔÍ϶¯µØÍ¼£¬·Å´óºÍËõС£¬Ö»ÓкÜÉÙµÄÖØ»æ²Ù×÷¡£µ±È»ÕâÀïÈÔÈ»ÓÐÇëÇóºÍÏìÓ¦£¬Ö»²»¹ý¶¼²Øµ½ÁËÄ»ºó¡£×÷ΪÓû§£¬ÌåÑé¸ü¼ÓÊæÊÊ£¬¸Ð¾õºÜÏñ×ÀÃæÓ¦ÓóÌÐò¡£ÕâÖÖеĸÐÊܺͷ¶Ð;ÍÊǵ±ÓÐÈËÌáµ½ Web 2.0 ʱÄúËùÌå»áµ½µÄ¡£
¡¡¡¡ÐèÒª¹ØÐĵÄÊÇÈçºÎʹÕâЩеĽ»»¥³ÉΪ¿ÉÄÜ¡£ÏÔÈ»£¬ÈÔÈ»ÐèÒª·¢³öÇëÇóºÍ½ÓÊÕÏìÓ¦£¬µ«ÕýÊÇÕë¶Ôÿ´ÎÇëÇó/ÏìÓ¦½»»¥µÄ HTML ÖØ»æÔì³ÉÁË»ºÂý¡¢±¿×¾µÄ Web ½»»¥µÄ¸ÐÊÜ¡£Òò´ËºÜÇå³þ£¬ÎÒÃÇÐèÒªÒ»ÖÖ·½·¨Ê¹·¢Ë͵ÄÇëÇóºÍ½ÓÊÕµÄÏìÓ¦Ö» °üº¬ÐèÒªµÄÊý¾Ý¶ø²»ÊÇÕû¸ö HTML Ò³Ãæ¡£Î©Ò»ÐèÒª»ñµÃÕû¸öРHTML Ò³ÃæµÄʱºò¾ÍÊÇÏ£ÍûÓû§¿´µ½ ÐÂÒ³ÃæµÄʱºò¡£
¡¡¡¡µ«¶àÊý½»»¥¶¼ÊÇÔÚÒÑÓÐÒ³ÃæÉÏÔö¼Óϸ½Ú¡¢ÐÞ¸ÄÖ÷ÌåÎı¾»òÕ߸²¸ÇÔÓÐÊý¾Ý¡£ÕâЩÇé¿öÏ£¬Ajax ºÍ Web 2.0 ·½·¨ÔÊÐíÔÚ²» ¸üÐÂÕû¸ö HTML Ò
³ÃæµÄÇé¿öÏ·¢ËͺͽÓÊÕÊý¾Ý¡£¶ÔÓÚÄÇЩ¾³£ÉÏÍøµÄÈË£¬ÕâÖÖÄÜÁ¦¿ÉÒÔÈÃÄúµÄÓ¦ÓóÌÐò¸Ð¾õ¸ü¿ì¡¢ÏìÓ¦¸ü¼°Ê±£¬ÈÃËûÃDz»Ê±µØ¹â¹ËÄúµÄÍøÕ¾¡£
¡¡¡¡XMLHttpRequest ¼ò½é
¡¡¡¡ÒªÕæÕýʵÏÖÕâÖÖѤÀöµÄÆæ¼££¬±ØÐë·Ç³£ÊìϤһ¸ö JavaScript ¶ÔÏ󣬼´ XMLHttpRequest¡£Õâ¸öССµÄ¶ÔÏóʵ¼ÊÉÏÒѾÔÚ¼¸ÖÖä¯ÀÀÆ÷ÖдæÔÚÒ»¶Îʱ¼äÁË£¬ËüÊDZ¾×¨À¸½ñºó¼¸¸öÔÂÖÐÒª½éÉÜµÄ Web 2.0¡¢Ajax ºÍ´ó²¿·ÖÆäËûÄÚÈݵĺËÐÄ¡£ÎªÁËÈÃÄú¿ìËٵشóÌåÁ˽âËü£¬ÏÂÃæ¸ø³ö½«ÒªÓÃÓڸöÔÏóµÄºÜÉٵö ·½·¨ºÍÊôÐÔ¡£
¡¡¡¡¡¤open()£º½¨Á¢µ½·þÎñÆ÷µÄÐÂÇëÇó¡£
¡¡¡¡¡¤send()£ºÏò·þÎñÆ÷·¢ËÍÇëÇó¡£
¡¡¡¡¡¤abort()£ºÍ˳öµ±Ç°ÇëÇó¡£
¡¡¡¡¡¤readyState£ºÌṩµ±Ç° HTML µÄ¾ÍÐ÷״̬¡£
¡¡¡¡¡¤responseText£º·þÎñÆ÷·µ»ØµÄÇëÇóÏìÓ¦Îı¾¡£
¡¡¡¡Èç¹û²»Á˽âÕâЩ£¨»òÕ߯äÖеÄÈκΠһ¸ö£©£¬ÄúÒ²²»Óõ£ÐÄ£¬ºóÃæ¼¸ÆªÎÄÕÂÖÐÎÒÃǽ«½éÉÜÿ¸ö·½·¨ºÍÊôÐÔ¡£ÏÖÔÚÓ¦¸Ã Á˽âµÄÊÇ£¬Ã÷È·Óà XMLHttpRequest ×öʲô¡£Òª×¢ÒâÕâЩ·½·¨ºÍÊôÐÔ¶¼Óë·¢ËÍÇëÇó¼°´¦ÀíÏìÓ¦Óйء£ÊÂʵÉÏ£¬Èç¹û¿´µ½ XMLHttpRequest µÄËùÓз½·¨ºÍÊôÐÔ£¬¾Í»á·¢ÏÖËüÃǶ¼ Óë·Ç³£¼òµ¥µÄÇëÇó/ÏìӦģÐÍÓйء£ÏÔÈ»£¬ÎÒÃDz»»áÓöµ½ÌرðÐ嵀 GUI ¶ÔÏó»òÕß´´½¨Óû§½»»¥µÄijÖÖ³¬¼«ÉñÃØµÄ·½·¨£¬ÎÒÃǽ«Ê¹Ó÷dz£¼òµ¥µÄÇëÇóºÍ·Ç³£¼òµ¥µÄÏìÓ¦¡£ÌýÆðÀ´ËƺõûÓжàÉÙÎüÒýÁ¦£¬µ«ÊÇÓúøöÔÏó¿ÉÒÔ³¹µ×¸Ä±äÄúµÄÓ¦ÓóÌÐò¡£
¡¡¡¡¼òµ¥µÄ new
¡¡¡¡Ê×ÏÈÐèÒª´´½¨Ò»¸öбäÁ¿²¢¸³¸øËüÒ»¸ö XMLHttpRequest ¶ÔÏóʵÀý¡£ÕâÔÚ JavaScript Öкܼòµ¥£¬Ö»Òª¶Ô¸Ã¶ÔÏóÃûʹÓà new ¹Ø¼ü×Ö¼´¿É£¬Èç Çåµ¥ 1 Ëùʾ¡£
¡¡¡¡Çåµ¥ 1. ´´½¨Ð嵀 XMLHttpRequest ¶ÔÏó
<table borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1>
<tr>
<td>£¼script language="javascript" type="text/javascript"£¾
¡¡var request = new XMLHttpRequest();
£¼/script£¾</td></tr></table>
¡¡¡¡²»ÄѰɣ¿¼Çס£¬JavaScript ²»ÒªÇóÖ¸¶¨±äÁ¿ÀàÐÍ£¬Òò´Ë²»ÐèÒªÏñ Çåµ¥ 2 ÄÇÑù×ö£¨ÔÚ Java ÓïÑÔÖпÉÄÜÐèÒªÕâÑù£©¡£
¡¡¡¡ Çåµ¥ 2. ´´½¨ XMLHttpRequest µÄ Java α´úÂë
<table borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1>
<tr>
<td>XMLHttpRequest request = new XMLHttpRequest();</td></tr></table>
¡¡¡¡Òò´ËÔÚ JavaScript ÖÐÓà var ´´½¨Ò»¸ö±äÁ¿£¬¸øËüÒ»¸öÃû×Ö£¨Èç ¡°request¡±£©£¬È»ºó¸³¸øËüÒ»¸öÐ嵀 XMLHttpRequest ʵÀý¡£´Ëºó¾Í¿ÉÒÔÔÚº¯ÊýÖÐʹÓøöÔÏóÁË¡£
¡¡¡¡´íÎó´¦Àí
¡¡¡¡ÔÚʵ¼ÊÉϸ÷ÖÖÊÂÇé¶¼¿ÉÄܳö´í£¬¶øÉÏÃæµÄ´úÂëûÓÐÌṩÈκδíÎó´¦Àí¡£½ÏºÃµÄ°ì·¨ÊÇ´´½¨¸Ã¶ÔÏ󣬲¢ÔÚ³öÏÖÎÊÌâʱÓÅÑŵØÍ˳ö¡£±ÈÈ磬ÈκνÏÔçµÄä¯ÀÀÆ÷£¨²»ÂÛÄúÊÇ·ñÏàÐÅ£¬ÈÔÈ»ÓÐÈËÔÚʹÓÃÀϰ汾µÄ Netscape Navigator£©¶¼²»Ö§³Ö XMLHttpRequest£¬ÄúÐèÒªÈÃÕâЩÓû§ÖªµÀÓÐЩµØ·½³öÁËÎÊÌâ¡£Çåµ¥ 3 ˵Ã÷ÈçºÎ´´½¨¸Ã¶ÔÏó£¬ÒÔ±ãÔÚ³öÏÖÎÊÌâµÄʱºò·¢³ö JavaScript ¾¯¸æ¡£
¡¡¡¡Çåµ¥ 3. ´´½¨¾ßÓдíÎó´¦ÀíÄÜÁ¦µÄ XMLHttpRequest
<table borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1>
<tr>
<td>£¼script language="javascript" type="text/javascript"£¾
¡¡var request = false;
¡¡try {
¡¡¡¡request = new XMLHttpRequest();
¡¡} catch (failed) {
¡¡¡¡request = false;
¡¡}
¡¡if (!request)
¡¡¡¡alert("Error initializing XMLHttpRequest!");
£¼/script£¾</td></tr></table>
¡¡¡¡Ò»¶¨ÒªÀí½âÕâЩ²½Ö裺
¡¡¡¡´´½¨Ò»¸öбäÁ¿ request ²¢¸³Öµ false¡£ºóÃæ½«Ê¹Óà false ×÷ΪÅж¨Ìõ¼þ£¬Ëü±íʾ»¹Ã»Óд´½¨ XMLHttpRequest ¶ÔÏó¡£
¡¡¡¡¡¤Ôö¼Ó try/catch ¿é£º
¡¡¡¡¡¤³¢ÊÔ´´½¨ XMLHttpRequest ¶ÔÏó¡£
¡¡¡¡¡¡¡¡1¡¢Èç¹ûʧ°Ü£¨catch (failed)£©Ôò±£Ö¤ request µÄÖµÈÔȻΪ false¡£
¡¡¡¡¡¡¡¡2¡¢¼ì²é request ÊÇ·ñÈÔΪ false£¨Èç¹ûÒ»ÇÐÕý³£¾Í²»»áÊÇ false£©¡£
¡¡¡¡¡¤Èç¹û³öÏÖÎÊÌ⣨request ÊÇ false£©ÔòʹÓà JavaScript ¾¯¸æÍ¨ÖªÓû§³öÏÖÁËÎÊÌâ¡£
¡¡¡¡´úÂë·Ç³£¼òµ¥£¬¶Ô´ó¶àÊý JavaScript ºÍ Web ¿ª·¢ÈËÔ±À´Ëµ£¬ÕæÕýÀí½âËüÒª±È¶Áд´úÂ뻨¸ü³¤µÄʱ¼ä¡£ÏÖÔÚÒѾµÃµ½ÁËÒ»¶Î´øÓдíÎó¼ì²éµÄ XMLHttpRequest ¶ÔÏó´´½¨´úÂ룬»¹¿ÉÒÔ¸æËßÄúÄĶù³öÁËÎÊÌâ¡£
¡ü·µ»ØÄ¿Â¼
ǰһƪ:
AJAX£ºÈçºÎ´¦ÀíÊéÇ©ºÍºóÍ˰´Å¥
ºóһƪ:
JavaÈçºÎ´¦ÀíARP±¨ÎĵÄÊÕ·¢