С±à¼òÊöAjax¼¼ÊõµÄÄÇЩ¿ò¼Ü
´Ó2005 ÄêWeb2.0 µÄÐËÆð¿ªÊ¼ËãÆð£¬Ajax °éËæ×ŹúÄÚµÄWeb ¿ª·¢ÉçÇø×ß¹ýÁ˽üËÄÄêµÄ³É³¤Ê±¼ä¡£ËÄÄêµÄʱ¼ä£¬¶ÔÓÚÒ»ÏîWeb ¼¼Êõ²»Ëã¶ÌÁË£¬Õâ²»½öÊǶԵ±³õ¶ÔAjax“¾ÉƿװоƔ³Ö²»Ð¼Ì¬¶ÈµÄÈ˵ķ´²µ£¬¸ü°Ñ¸ü¶à¹ÛÍûÖеĿª·¢ÕßÀÈëÁËWeb ¿ª·¢µÄÐÐÁС£
AjaxµÄ¿ò¼ÜÒ²¿ªÊ¼Ò»Ò»³öÏÖ£º
Buffalo ÊÇÏÖÈÎThoughtWorks Öйú×Éѯʦ³Â½ðÖÞ£¨Michael Chen£©µÄ×÷Æ·¡£¿ÉÒÔ˵£¬Buffalo ÊÇÒ»¿îÕæÕýÒâÒåÉϵÄAjax Ô¶³Ìµ÷Óÿò¼Ü£¬ËüûÓаüº¬ÄÇЩ·±ÔÓ¶ø»ªÀöµÄUI Ö§³Ö£¬¶øÊÇ´úÂë¶ÌС¾«º·£¬ÔÚÌṩAjax »ù±¾¹¦ÄܵÄͬʱҲÌṩһЩ¼«Îª·½±ãʹÓõĸ߼¶¹¦ÄÜ¡£Ä¿Ç°×îа汾ÊÇ2.0£¬ÒÀ¿¿ÉçÇøµÄÁ¦Á¿£¬Buffalo ÒѾÔÚÔ½À´Ô½¶àµÄ²úÆ·ºÍÏîÄ¿Öеõ½Á˹㷺ӦÓ᣹úÈ˳öÆ·£¬Îĵµ³ä·Ö£¬¸üÄѵõÄÊÇÄã¿ÉÒÔÖ±½ÓÁªÏµµ½Michael À´»ñÈ¡¼¼ÊõÖ§³Ö¡£
Dojo ÊÇĿǰÀ´¿´×îΪǿ´ó£¬¹¦ÄÜÒ²×îÎªÈ«ÃæµÄAjax ¿â¡£ÎÞÂÛÊÇIBM ÕâÑùµÄ¹ú¼ÊÒ»Á÷µÄÈí¼þÆóÒµµÄ²úÆ·Ïߣ¬»¹ÊÇÆÕͨ¿ª·¢°®ºÃÕߵŤ¾ßÏäÖж¼ÎªDojo ÁôÓÐһϯ֮µØ£¬Ó¦Óò»¿Éν²»¹ã·º¡£Dojo ´Ó0.4ºÍ0.9 ·Ö±ð¿ªÊ¼ÌṩÁ½¸ö°æ±¾£¬0.4 ÊÇΪÁ˺Í֮ǰµÄ°æ±¾¼æÈÝ£¬¶ø0.9 Ôò¸ÄÉÆÁËÕû¸ö¼Ü¹¹£¬²ã´Î¸üΪÇåÎú£¬½Ó¿Úµ÷ÓøüΪ¼ò±ã£¬¸üÊǼÓÈëÁËÐí¶à¸ß¼¶¹¦ÄÜ£¬ÈçÀëÏß´æ´¢¡£
Prototype ÎÞÒÉÊÇAjax ¿ª·¢µÄ»ù´¡Àà¿â£¬°üÀ¨Buffalo ÔÚÄÚ£¬ºÜ¶àAjax ¿â¶¼ÊÇÒÔprototype Ϊ»ù´¡·¢Õ¹¶øÀ´µÄ¡£Ò»ÈçÆäÃû£¬prototype ÌṩµÄÊÇAjax µ÷ÓÃËùÐèµÄ×î»ù±¾µÄ»ù´¡ÉèÊ©£¬´ËÍ⻹ÌṩÖÚ¶à·½±ã¿ì½ÝµÄº¯Êý·â×°¹©¿ª·¢ÕßÔÚ¿ª·¢JavaScript ʱʹÓá£Prototype ÊÇWeb ¿ª·¢ÕßÌáÉýˮƽ£¬Ñо¿Ajax²»¿É»òȱµÄ²Î¿¼¡£
jQuery µÄ³öÏÖ¿ÉÒÔÓü¼¾ªËÄ×ùÀ´ÐÎÈÝ¡£¹é¸ùµ½µ×£¬ËüÌṩÁ˾«º·¶øÇ¿´óµÄ½Ó¿Ú¹¦ÄÜ£¬ÁîÈËÉÍÐÄÔÃÄ¿µÄ±Õ°üµ÷Ó÷½Ê½£¬·ý»ñÁË´óÅúÒ»ÐÄ×·ÇóÍêÃÀµÄ³ÌÐòÔ±µÄÐÄ¡£³ýÁËÌṩ»ù±¾µÄ¶¯»ºÍÏÔʾЧ¹û£¬ÒÔ¼°Ajax Ó¦Ó÷â×°Í⣬jQuery »¹ÌṩÁËÀàËÆEclipse µÄ²å¼þ»úÖÆ£¬ÔÀí¾ÍÊÇΪȫ¾ÖµÄjQuery ¶ÔÏóÌṩÀ©Õ¹µÄ·½·¨¡£Ä¿Ç°ÒѾÓзdz£¶àµÄ²å¼þ¿É¹©Ñ¡Ó㬰üÀ¨ÖÆ±í¡¢Ô²½Ç¡¢»¬¶¯ÏÔʾ¡¢¹¤¾ßÌáʾ¡¢ÈÕÆÚÑ¡ÔñÆ÷¡¢±íµ¥´¦ÀíÅÅÐòºÍÍÏ×§µÈ¡£
DWR ×î´óµÄÁÁµã¾ÍÊÇ£¬¿ÉÒÔÔÚä¯ÀÀÆ÷¶ËʹÓÃJavaScript Ö±½Óµ÷ÓÃWeb ·þÎñÆ÷ÉϵÄJava À౩¶³öÀ´µÄ·½·¨¡£DWR ²ÉÈ¡ÁËÒ»¸öÀàËÆAjax µÄз½·¨À´¶¯Ì¬Éú³É»ùÓÚJava ÀàµÄJavaScript ´úÂë¡£ÕâÑù£¬Web¿ª·¢ÈËÔ±¾Í¿ÉÒÔÔÚJavaScript ÀïʹÓÃJava ´úÂ룬¾ÍÏñËüÃÇÊÇä¯ÀÀÆ÷µÄ±¾µØ´úÂ루¿Í»§¶Ë´úÂ룩һÑù¡£
Ïà¹ØÎĵµ£º
±¾ÊµÀýʹÓÃÃûΪfaqµÄÊý¾Ý¿â±í£¬°üº¬µÄÊý¾ÝÈçͼ1.2Ëùʾ¡£¾ßÌåµÄ´´½¨Êý¾Ý±íÓï¾äÈçÏ£º
CREATE TABLE 'faq' (
'id' int(11) NOT NULL auto_increment,
'faq' varchar(255) NOT NULL,
'detail' varchar(255) NOT NULL,
PRIMARY KEY ('id')
)
ͼ1.2 ±ífaq°üº¬µÄÊý¾Ý
Ö÷ ......
Êý¾Ý¿âÉè¼Æ
±¾ÊµÀýʹÓÃÃûΪpostalcodeµÄÊý¾Ý¿â±í£¬°üº¬µÄ²¿·ÖÊý¾ÝÈçͼ1.4Ëùʾ¡£¾ßÌåµÄ´´½¨Êý¾Ý±íÓï¾äÈçÏ£º
CREATE TABLE 'postalcode' (
'id' int(11) NOT NULL auto_increment,
'area' varchar(255) NOT NULL,
'city' varchar(255) NOT NULL,
'code' varchar(6) NOT NULL,
&n ......
Êý¾Ý¿âÉè¼Æ
±¾ÊµÀýʹÓÃÃûΪtreeµÄÊý¾Ý¿â±í£¬°üº¬µÄÊý¾ÝÈçͼ1.8Ëùʾ£¬¾ßÌåµÄ½¨±íÓï¾äÈçÏ£º
CREATE TABLE 'tree' (
'id' int(11) NOT NULL auto_increment,
'text' varchar(255) NOT NULL,
'isfolder' varchar(5) NOT NULL default 'false',
'link' varchar(255) default NULL,
' ......
£¨×ªÌû£©
¡¡¡¡Ò»Ìáµ½ÈçºÎÔÚǰ̨JSµ÷Óúǫ́C#·½·¨£¬AJAX³ÉΪÁ˱ØÈ»µÄÏë·¨¡£
¡¡¡¡Ö»ÊÇʵÏÖµÄϸ½Ú²ÉÓÃAJAX 1.0»òÕßAjaxProµÄÇø±ð¡£
¡¡¡¡ÆäʵÈç¹û²»ÓÃAJAX£¬ÎÒÃÇÒ²Äܹ»ºÜ·½±ãµØÀûÓÃJSµ÷Óúǫ́·½·¨¡£
¡¡¡¡²½ÖèÈçÏ£º
¡¡¡¡1 ǰ̨·ÅÒ»¸ö°´Å¥¡£ÉèÖÃΪÒþ²Ø¡£×¢Ò⣺²»ÄÜÖ±½ÓÉèÖÃVisible=falseµÄ· ......
AjaxµÄÔÀí¼òµ¥À´ËµÍ¨¹ýXmlHttpRequest¶ÔÏóÀ´Ïò·þÎñÆ÷·¢Òì²½ÇëÇ󣬴ӷþÎñÆ÷»ñµÃÊý¾Ý£¬È»ºóÓÃjavascriptÀ´²Ù×÷DOM¶ø¸üÐÂÒ³Ãæ¡£ÕâÆäÖÐ×î¹Ø¼üµÄÒ»²½¾ÍÊÇ´Ó·þÎñÆ÷»ñµÃÇëÇóÊý¾Ý¡£ÒªÇå³þÕâ¸ö¹ý³ÌºÍÔÀí£¬ÎÒÃDZØÐë¶Ô XMLHttpRequestÓÐËùÁ˽⡣
XMLHttpRequestÊÇajaxµÄºËÐÄ»úÖÆ£¬ËüÊÇÔÚIE5ÖÐÊ×ÏÈÒýÈëµÄ£¬ÊÇÒ»ÖÖÖ§³ÖÒì²½ÇëÇóµÄ¼¼Êõ¡ ......