¡¡¡¡AJAX½éÉÜ ¡¡¡¡AJAX ¹Ø¼ü´Ê£º ¡¡¡¡JavaScript½Å±¾ºÍ¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ(XML) ¡¡¡¡WEBä¯ÀÀÆ÷¼¼Êõ ¡¡¡¡¿ª·ÅʽWEB±ê×¼ ¡¡¡¡ä¯ÀÀÆ÷ÒÔ¼°¶ÀÁ¢Æ½Ì¨ ¡¡¡¡¸üºÃ¸ü¿ìµÄÍøÂçÓ¦ÓóÌÐò ¡¡¡¡XMLÒÔ¼°HTTPÇëÇó ¡¡¡¡AJAX = Òì²½JavaScriptºÍ¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ ¡¡¡¡AJAXÊÇÒ»ÖÖÔËÓÃJavaScriptºÍ¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ(XML)£¬ÔÚÍøÂçä¯ÀÀÆ÷ºÍ·þÎñÆ÷Ö®¼ä´«ËÍ»ò½ÓÊÜÊý¾ÝµÄ¼¼Êõ¡£ ¡¡¡¡AJAXÊÇÒ»ÖÖä¯ÀÀÆ÷¼¼Êõ ¡¡¡¡AJAXÊÇÒ»ÖÖÔËÓÃÓÚä¯ÀÀÆ÷Öеļ¼Êõ¡£ÔÚä¯ÀÀÆ÷ºÍ·þÎñÆ÷Ö®¼ä£¬ËüʹÓÃÒì²½Êý¾Ý½øÐÐת»»£¬²¢ÔÊÐíÍøÒ³Ïò·þÎñÆ÷Ë÷È¡ÉÙÁ¿ÐÅÏ¢¶ø·ÇÕû¸öÍøÒ³¡£ ¡¡¡¡ÕâÏî¼¼Êõ±êÖ¾×ÅÍøÂçÓ¦ÓóÌÐòµÄ΢С»¯¡¢Ñ¸½Ý»¯ÒÔ¼°±ã½Ý»¯¡£ ¡¡¡¡AJAXÊÇÒ»ÖÖ²»ÐèÒÀ¿¿·þÎñÆ÷Èí¼þ¶ø¶ÀÁ¢ÔË×öµÄä¯ÀÀÆ÷¼¼Êõ¡£ ¡¡¡¡AJAXÊÇ»ùÓÚ¹«¹²±ê×¼µÄ ¡¡¡¡AJAX»ùÓÚÒÔÏÂһЩ¹«¹²±ê×¼£º ¡¡¡¡XML ¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ ¡¡¡¡HTML ³¬Îı¾±ê¼ÇÓïÑÔ ¡¡¡¡CSS ²ãµþÑùʽ±í ¡¡¡¡ÔËÓÃÓÚALAXµÄ¹«¹²±ê×¼±»ºÜºÃµÄ¶¨Òå²¢Çҵõ½Ò»Ð©Ö÷ÒªµÄ³£ÓÃä¯ÀÀÆ÷Ö§³Ö¡£ALAXÓ¦ÓóÌÐòÊǶÀÁ¢µÄä¯ÀÀÆ÷ºÍƽ̨£¨½»»¥Æ½Ì¨£¬½»»¥ä¯ÀÀÆ÷¼¼Êõ£©¡£ ¡¡¡¡AJAXʹظüºÃµÄÍøÂçÓ¦ÓóÌÐò ¡¡¡¡ÍøÂçÓ¦ÓóÌÐò±Èµ¥»úÓ¦ÓóÌÐòÓиü¶àµÄºÃ´¦£¬ËüÄÜ·ûºÏ¸ü¶àÓû§µÄÐèÇ󣬸üÒ×°²×°ÇÒ·½±ãÖ§³ÖºÍÀ©Õ¹¡£ ¡¡¡¡È»¶ø£¬ÍøÂçÓ¦ÓóÌÐò²¢·Ç×ÜÊÇÏñµ¥»úÓ¦ÓóÌÐòÒ»ÑùºÃʹ»½¡£ ¡¡¡¡¶øÔËÓÃAJAX£¬ÍøÂçÓ¦ÓóÌÐò½«±äµØ¸üʵÓ㨸üС¡¢¸ü¿ì¡¢¸üÒ×ÓÚʹÓã©¡£ ¡¡¡¡½ñÌì¾Í¿ªÊ¼Ê¹ÓÃAJAX°É£¡ ¡¡¡¡ÎÞÐèѧϰеÄ֪ʶ¡£ ¡¡¡¡AJAXÊÇ»ùÓÚ¹«¹²±ê×¼µÄ¡£ÕâЩ±ê×¼ÒѾ±»´ó¶àÊý¿ª·¢ÈËԱʹÓöàÄê¡£ ¡¡¡¡´ó¶àÊýÏÖ´æµÄÍøÂçÓ¦ÓóÌÐò¿ÉÒÔÓÃAJAX½øÐÐÖØÐ±àдÒÔÈ¡´ú´«Í³µÄ³¬Îı¾±ê¼ÇÓïÑÔ·½Ê½¡£ ¡¡¡¡AJAXʹÓÿÉÀ©Õ¹ÓïÑÔºÍHTTPÇëÇó ¡¡¡¡´«Í³µÄÍøÂçÓ¦ÓóÌÐò»á½«ÊäÈëµÄÐÅÏ¢Ìá½»¸ø·þÎñÆ÷£¨Ê¹ÓÃHTML±íµ¥£©¡£ÔÚ·þÎñÆ÷ͨ¹ý´úÂëºó£¬½«»á°ÑÒ»¸öȫеÄÍêÕûµÄÒ³Ãæ´«Ë͸øÓû§¡£ ¡¡¡¡ÓÉÓÚÓû§Ã¿´ÎÌá½»ÊäÈëÐÅÏ¢µÄʱºò·þÎñÆ÷¶¼½«´«»ØÒ»¸öеÄÒ³Ãæ£¬´«Í³µÄÍøÂçÓ¦ÓóÌÐòͨ³£ÔËÐлºÂýÇÒʹÓò»±ã¡£ ¡¡¡¡Ê¹ÓÃAJAX£¬ÍøÒ³Ó¦ÓóÌÐòÄܲ»¾ÖØÐÂÏÂÔØÕû¸öÍøÒ³¾Í·¢ËͲ¢ÖØÐ»ñµÃÊý¾Ý¡£ÕâÊÇͨ¹ý·¢ËÍHTTPÇëÇóºÍʹÓÃJS¶ÔÍøÒ³½øÐв¿·ÖÐÞ¸ÄÀ´ÊµÏֵġ£ ¡¡¡¡ÁªÏµ·þÎñÆ÷µÄ½ÏºÃµÄ·½Ê½ÊÇ·¢ËÍÏñ¿ÉÀ©Õ¹±ê¼ÇÓïÑÔÕâÑùµÄÊý¾Ý£¨ÆäËûµÄ·½·¨Ò²¿ÉÒÔ²ÉÓã©¡£ ¡¡¡¡Ä㽫ÔÚÕâÆªÒýÂÛµÄÏÂÒ»Õ½ڸü¶àµØÁ˽⵽ÕâÒ»ÇÐÊÇÈçºÎ×öµ½µÄ¡£ ¡¡¡¡AJAXʵÀý
¡¡¡¡AJAX¿ÉÒÔÓÃÀ´´´½¨¸ü¶à½»»¥Ê½µÄÍøÂçÓ¦ÓóÌÐò¡£ ¡¡¡¡AJAX ʵÀý ¡¡¡¡ÔÚÒÔϵÄAJAX·¶ÀýÖУ¬ÎÒÃǽ«Á˽⵽µ±Óû§ÒÔÍøÒ³¸ñʽÊäÈëÊý¾Ýʱһ¸öÍøÒ³ÊÇÈçºÎÓëÍøÂç·þÎñÆ÷Á¬½ÓµÄ¡£ ¡¡¡¡ÔÚÏÂÃæµÄ¿òÖÐÊäÈëÐÕÃû *ʵ¼Ê²Ù×÷ÇëǰÍùW3Schools First Name: Suggestions: ¡¡¡¡ÊµÀý½âÎö-³¬Îı¾±ê¼ÇÓïÑÔģʽ ¡¡¡¡ÒÔÉϵķ¶ÀýËùº¬³¬Îı¾±ê¼ÇÓïÑÔ´úÂëÈçÏ£º <form> First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)"> </form><p>Suggestions: <span id="txtHint"></span></p> ¡¡¡¡¾ÍÈçÄã¿´µ½µÄ£¬ËüÖ»ÊÇÒ»¸öÆÕͨµÄ±íµ¥£¬ÀïÃæÓÐÒ»³ÆÎª"txt1"µÄÊäÈë¿ò ¡¡¡¡ÏÂÒ»¶Î°üÀ¨ÁËÒ»¸ö³Æ×ö¡°txtHint¡±µÄSPAN¡£Õâ¸öSPANÊÇÓÃÀ´´æ´¢´Ó·þÎñÆ÷ÖØÐ»ñµÃµÄÐÅÏ¢µÄ¡£ ¡¡¡¡µ±Óû§ÊäÈëÊý¾Ý£¬ÃûΪ¡°showHint()¡±µÄº¯Êý½«±»Ö´ÐС£Õâ¸öº¯ÊýµÄÖ´ÐÐÊÇÓÉ¡°onkeyup¡±Ê¼þ´¥·¢µÄ¡£»»ÖÖ˵·¨£ºÃ¿µ±Óû§ÔÚtxt1ÇøÓòÄÚ´¥¶¯¼üÅ̰´Å¥£¬showHintµÄ¹¦Äܾͱ»Ö´ÐС£ ¡¡¡¡ÊµÀý½âÎö- showHint()º¯Êý ¡¡¡¡showHint()º¯ÊýÊÇÒ»ÖÖλÓÚHTML¶¥¶ËµÄ¼òµ¥µÄJSº¯Êý¡£ ¡¡¡¡º¯Êý°üº¬ÒÔÏ´úÂ룺 function showHint(str) { if (str.length > 0) { var url="gethint.asp?sid="+Math.random()+"&q="+str xmlHttp=GetXmlHttpObject(stateChanged) xmlHttp.open("GET", url , true) xmlHttp.send(null) } else { document.getElementById("txtHint").innerHTML="" } } ¡¡¡¡Ã¿µ±ÓÐ×Ö·û±»¼üÈëÊäÈëÇøÄھͻáÖ´ÐÐÕâ¸öº¯Êý ¡¡¡¡ÈçÓÐ×Ö·û±»ÊäÈëÎÄ×ÖÊäÈëÇø(str.length>0)º¯Êý¾ÍÖ´ÐУº ¡¡¡¡½¨Á¢Ò»¸öXMLHTTP¶ÔÏó ¡¡¡¡·¢ËÍÒ»¸öHTTPÇëÇóµ½·þÎñÆ÷ÉϵÄ"gethint.asp"ÉÏ ¡¡¡¡µ±HTTP´¥·¢Ò»´Î±ä¶¯ÔòXMLHTTP¶ÔÏó¾Í»áÖ´ÐÐstateChanged()º¯Êý ¡¡¡¡ÊµÀý½âÎö - stateChanged()º¯Êý ¡¡¡¡stateChanged()º¯Êý°üº¬ÒÔÏ´úÂ룺 function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint").innerHTML=xmlHttp.responseText } } ¡¡¡¡Ã¿µ±XMLHTTP¶ÔÏóµÄ״̬·¢Éú¸Ä±ästateChanged()º¯Êý¾Í»á±»Ö´ÐÐ ¡¡¡¡µ±×´Ì¬¸Ä±äΪ4(»òΪ"Íê³É"),txtHint spanÀï¾Í»áÏÔʾ·´À¡µÄÎÄ×Ö ¡¡¡¡AJAXÔ´´úÂë
¡¡¡¡AJAX ʵÀý - AJAX Ô´Âë ¡¡¡¡ÏÂÃæµÄÔ´´úÂëÊÇǰһ¸öÒ³ÃæµÄ¡£Äã¿ÉÒÔ½«Ëü¸´ÖƲ¢Õ³Ìù£¬×Ô¼ºÀ´³¢ÊÔ¡£ ¡¡¡¡AJAX HTMLÒ³Ãæ ¡¡¡¡ÕâÊÇÒ»¸öHTMLÍøÒ³¡£Ëü°üÀ¨ÁËÒ»¸ö¼òµ¥µÄHTML±íµ¥ºÍ¹ØÁªJSµÄlink <html> <head> <script src="clienthint.js"></script> </head><body><form> First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)"> </form><p>Suggestions: <span id="txtHint"></span></p> </body> </html>The JavaScript code is listed below. JS´úÂëÔÚÏÂÃæ ¡¡¡¡AJAX µÄ JS ¡¡¡¡ÕâÊÇJS´úÂ룬±»±£´æÔÚ"clienthint.js"ÎļþÖÐ var xmlHttp function showHint(str) { if (str.length > 0) { var url="gethint.asp?sid=" + Math.random() + "&q=" + str xmlHttp=GetXmlHttpObject(stateChanged) xmlHttp.open("GET", url , true) xmlHttp.send(null) } else { document.getElementById("txtHint").innerHTML="" } } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint").innerHTML=xmlHttp.responseText } } function GetXmlHttpObject(handler) { var objXmlHttp=null if (navigator.userAgent.indexOf("Opera")>=0) { alert("This example doesnt work in Opera") return; } if (navigator.userAgent.indexOf("MSIE")>=0) { var strName="Msxml2.XMLHTTP" if (navigator.appVersion.indexOf("MSIE 5.5")>=0) { strName="Microsoft.XMLHTTP" } try { objXmlHttp=new ActiveXObject(strName) objXmlHttp.onreadystatechange=handler return objXmlHttp } catch(e) { alert("Error. Scripting for ActiveX might be disabled") return } } if (navigator.userAgent.indexOf("Mozilla")>=0) { objXmlHttp=new XMLHttpRequest() objXmlHttp.onload=handler objXmlHttp.onerror=handler return objXmlHttp } } ¡¡¡¡AJAX ·þÎñ¶ËÒ³Ãæ ¡¡¡¡·þÎñ¶ËÒ³Ãæ±»JSËùµ÷Dz£¬ÊÇÒ»ÃûΪ"gethint.asp"µÄASPÎļþ£¬Ò³ÃæÊÇÓÃVBSÀ´Õë¶ÔIISËùдµÄ¡£Ëü¿ÉÒÔ±»ÇáËɵÄд³ÉPHP»òÊÇһЩÆäËûµÄ·þÎñÓïÑÔ£¬ËüÖ»ÊǼì²éÁËÃû×Ö×é²¢½«ÏàÎǺϵÄÃû×Ö·µ»Ø¸ø¿Í»§¶Ë£º dim a(30) a(1)="Anna" a(2)="Brittany" a(3)="Cinderella" a(4)="Diana" a(5)="Eva" a(6)="Fiona" a(7)="Gunda" a(8)="Hege" a(9)="Inga" a(10)="Johanna" a(11)="Kitty" a(12)="Linda" a(13)="Nina" a(14)="Ophelia" a(15)="Petunia" a(16)="Amanda" a(17)="Raquel" a(18)="Cindy" a(19)="Doris" a(20)="Eve" a(21)="Evita" a(22)="Sunniva" a(23)="Tove" a(24)="Unni" a(25)="Violet" a(26)="Liza" a(27)="Elizabeth" a(28)="Ellen" a(29)="Wenche" a(30)="Vicky" q=request.querystring("q")if len(q)>0 then hint="" for i=1 to 30 x1=ucase(mid(q,1,len(q))) x2=ucase(mid(a(i),1,len(q))) if x1=x2 then if hint="" then hint=a(i) else hint=hint & " , " & a(i) end if end if next end if if hint="" then response.write("no suggestion") else response.write(hint) end if
|