¡¡¡¡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