ת Ajax¡¢Comet¡¢HTML 5 Web Sockets¼¼Êõ±È½Ï·ÖÎö
¾ÅÊ®Äê´úÖÐÆÚ£¬WWWÒÔѸÃÍÖ®ÊÆתÑÛõÒÉí´«²¥ÐÅÏ¢µÄÖ÷ÒªÇþµÀÖ®Ò»¡£ä¯ÀÀÆ÷µÄÉíÓ°¿ªÊ¼ÎÞ´¦²»ÔÚ£¬Óû§Ò²ËæÖ®¿ªÊ¼ÊÊÓ¦ÕâÖÖÐÅÏ¢´«²¥·½Ê½¡£ÏÔÈ»£¬WWWÌṩµÄÓ¦ÓÃƽ̨Äܹ»Ó®µÃÀúÊ·ÉÏÈκÎÒ»¸öƽ̨¶¼ÎÞ·¨±È¼°µÄÓû§Á¿¡£µ«µ±Ê±ºÜÄÑʵÏÖÕâÑùµÄÄ¿±êÊÇÒòΪһЩ±ê×¼£¨HTML¡¢HTTPµÈ£©¶¼²»ºÜÍêÉÆ£¬ÕâЩ±ê×¼Éè¼ÆµÄʱºò¶¼Ã»Óп¼Âǵ½¸ß¶È½»»¥ºÍ¸»¿Í»§ÌåÑé¡£×î³õµÄһЩ¸»ÔÚÏßÓ¦Óûù±¾É϶¼ÊÇÓÉMicrosoft Exchange¿ª·¢×éʵÏֵġ£96ÄêÒÔÀ´£¬ËûÃÇÔø²ÉÓÃIFrameΪÓʼþ·þÎñÆ÷ϵͳÌṩOutlookÀàÐ͵ÄÇ°¶ËÓ¦Óá£ÕâЩÔçÆÚ³¢ÊÔÔÚÏìÓ¦ÄÜÁ¦ºÍÕûÌåµÄÓû§ÌåÑé·½Ã涼·Ç³£Âäºó£¬µ«´ÓÕâЩӦÓÃÉíÉÏÈ´¿ÉÒÔÇå³þµØ¿´µ½¼´½«ÐËÆðµÄÍøÂçÓ¦Óá£1998Ä꣬ÍŶӿªÊ¼ÎªMS Exchange Server 2000±àдwebÇ°¶Ë£¬ËûÃÇ¿ª·¢ÁËXMLHTTP£¬Õâ¸ö¿Ø¼þʵÏÖÁ˵¥¸öwebÒ³ÃæÓë·þÎñÆ÷¼äµÄÒì²½½»»¥¡£¿ÉÒÔ¿´µ½£¬XMLHTTPʵ¼ÊÉϸù±¾Ã»ÓÐÁ¢¼´ºÍ XMLÀ¦°óÆðÀ´¡£XMLHTTPÕâ¸öÃû×ÖÊÇAlex HopmannÌá³öµÄ£¬ËûÊǺóÀ´¼ÓÈ뿪·¢ÍŶӵģ¬¾Ý˵Ãû×Ö²ÉÓÃÕâ¸öǰ׺µÄΨһµÄÔÒòÊÇIE5µ±Ê±ÕýÔÚ×¼±¸µÚ¶þ¸öbeta°æ±¾£¬¶øÕâ¸ö¿Ø¼þ±ØÐë×÷ΪÕâ¸ö°æ±¾µÄMSXML¿âµÄÒ»²¿·Ö·¢²¼£¬Õâ²Å¹ÚÉÏÁËXML¡£
Mozilla»ù½ð»áÔÚ2002Ä꿪·¢ËûÃǵÄä¯ÀÀÆ÷µÄÒ»¸ö°æ±¾Ê±£¬Ò²ÒÔXMLHttpRequestµÄÐÎʽʵÏÖÕâһм¼Êõ£¬Õâ¸öä¯ÀÀÆ÷¾ÍÊǺóÀ´µÄ Firefox¡£¾¡¹Üµ±Ê±ÓÐһЩÉ̼ÒÒ²Ôø³¢ÊÔÔËÓÃÕâЩÐÂAPI£¬µ«ËûÃDzÉÓõĵÄÕâÖÖÔ¶³Ì½Å±¾³ÌÐòµÄģʽһֱûÓÐÒýÆð¹«ÖÚµÄ×¢Ò⣬ֱµ½Google¿ªÊ¼²¿Êð»ùÓÚJavaScriptºÍXHRµÄһϵÁÐÐÂÐÍ·þÎñ¡£µ±Ê±µÄµÚÒ»¸ö·þÎñÊÇ2005Äê2ÔÂ8ÈÕGoogle BlogÉÏ·¢²¼µÄGoogle Maps¡£Ö®ºó²»¾Ã£¬XHR¾ÍÒ»Ô¾³ÉΪҵ½ç×îÖËÊÖ¿ÉÈȵĻ°Ìâ¡£Ö±µ½ÄÇʱ£¬Ò²»¹Ã»ÈËÔ¤Áϵ½XHR¸øWebÓ¦Óÿª·¢´øÀ´µÄ¸ïÃüÐÔµÄÍƶ¯£¬µ«ËüµÄ³É¹¦¿ªÊ¼ÈÃÎÒÃÇת±ä֮ǰ¶ÔWWWµÄһЩ¿´·¨¡£
ÔÚKaazing Gateway·¢²¼Ö®¼Ê£¬InfoQ²É·ÃÁËRichard Smith£¬Ì¸µ½¹ØÓÚAJAX, CometÒÔ¼°ÕôÕôÈÕÉϵÄHTML 5 Web SocketsµÈ¼¼ÊõµÄ·¢Õ¹Çé¿ö£º
AjaxΪHTTPͨÐÅÄ£ÐÍÌṩÁ˺ܺõĽâ¾ö·½°¸£¬ËüÔÚ¿Í»§¶ËÒì²½ÂÖѯ·þÎñÆ÷¶Ëʼþ¡£·þÎñÆ÷ʼþÒÀ´ÎÅÅÁÐÔÚ´ý´¦Àí¶ÓÁÐÖУ¬¸ù¾ÝÂÖѯʱ¼ä϶ÒÀ´Î´«Ë͵½ä¯ÀÀÆ÷£¬ÕâÑùÄ£Äâ·þÎñÆ÷·¢ÆðµÄͨÐÅ£¬ÔÚÂÖѯʱ¼ä϶¼ä½øÐÐʵʱÏûÏ¢´«µÝ¡£Òò´Ë£¬½ö½öÒÀ¿¿Ajax,ÎÒÃÇÓÀÔ¶¶¼²»¿ÉÄÜʵÏÖÕæÕýµÄʵʱͨÐÅ¡£
CometÒýÈëµÄÓÅ»¯Õë¶ÔµÄÊÇHTTPͨÐųõʼ֮ʱ£¬ËüÔÚHTTP»ù´¡ÉϲÉÓÓpush”ͨÐÅ·ç¸ñ¡£CometÌṩµÄ¼¸Ïî¼¼ÊõÄܹ»ÔÚûÓпͻ§¶Ë·¢ËÍÇëÇóµÄÇ°ÌáÏÂÈ÷þÎñÆ÷Ö÷¶¯½«ÐÅÏ¢·¢Ë͵½ä¯ÀÀÆ÷¡£Èç¹ûÔÙÔö¼ÓÒ»¸ö¶îÍâµÄHTTPÁ¬½ÓµÄ»°£¬
Ïà¹ØÎĵµ£º
/*
κÑÔAJAX Àà
ʹÓ÷½·¨:
<mce:script type="text/javascript"><!--
var classAjax = new Ajax(sUrl,sRecvTyp,sQueryString,oResultFunc);
classAjax.post();//post·½Ê½·¢ËÍÊý¾Ý
classAjax.get();//get·½Ê½·¢ËÍÊý¾Ý
//sUrl·¢Ë͵ØÖ·
//sRecvTyp ½ÓÊÜÊý¾ÝÀàÐÍ:0Ϊxml 1Ϊtext
//oResultFunc ·µ»Ø½á¹û´¦Àíº ......
ajaxµ¯³öÌáʾÐÅÏ¢
1¡¢ ÊäÈëÓò£º
<h2>¹¤¾ßÌáʾ</h2>
<hr>
<a href="#" onmouseover="over(0)" onmouseout="out()">ÎïÆ·Ò»</a><br><br>
<a href="#" onmouseover="over(1)" onmouseout="out()">ÎïÆ·¶þ ......
ÎÒÓÃActiveXObject("Microsoft.xmldom")À´×°ÔØxmlÎĵµÊ±£¬¾¹È»ÀÏÊÇÌáʾװÔØʧ°Ü£¬ºóÀ´ÉÏÍøËÑË÷ÁËÏ£¬ËµÊDz»ÄÜÖ±½Ó°üº¬Õâ5¸ö·ûºÅ£¨'><&"£©£¬±ØÐëÑ¡ÓÃ&xx;·½Ê½À´×ªÒ壬¿ÉÎÒÕÒ±éXMLҲû·¢ÏÖÕâЩ¡£
ºóÀ´ÎÒ¶ÀÐÐÅųý£¬²Å·¢ÏÖÓÐÒ»¸öÔªËصÄÊôÐÔֵΪÓГ|”£¬È¥³ýºó¾ÍÕý³£ÁË¡£ÎÒÕæÊǾõµÃÆæ¹Ö£¬ÍøÉÏҲûÓÐ˵ ......
Ê×ÏÈÔÚÓ¦ÓóÌÐòµÄWEB.CONFIGÐÞ¸ÄÈçϽڵ㡣
<httpHandlers>
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>
<assemblies>
<buildProviders>
<add ext ......
»ùÓÚJQuery¿ò¼ÜµÄAJAX
Ç°¼¸Ìì·¢Á˸öÌù£¬·ÖÏíÁËprototype¿ò¼Ü¹ØÓÚAJAX·½ÃæµÄѧϰ¹ý³Ì¡£È»ºóÓÐÈË˵jquery¿ò¼Ü¸ü·½±ã¡£
ÕýºÃÏîÄ¿ÖÐ×¼±¸Ê¹ÓÃthickbox£¬ÓÚÊǸɴàÅ×Æúprototype.js£¬¿´Æðjquery.jsÁË¡£JQueryȷʵ²»´í£¬Ìå»ý±È PrototypeСÁËÐí¶à£¬¶øÇÒʹÓÃÆðÀ´¸ü·½±ã¸üÁé»î¡£ÓÐÈË˵PrototypeÏñJAVA£¬Õýͳ£»¶øJQueryÏñRuby£¬Áé»î£ ......