AJAX 鍙敤鏉ヤ笌鏁版嵁搴撹繘琛屽姩鎬侀氫俊銆?/span>
涓嬮潰鐨勪緥瀛愬皢婕旂ず緗戦〉濡備綍閫氳繃 AJAX 浠庢暟鎹簱璇誨彇淇℃伅錛?/p>
璇峰湪涓嬮潰鐨勪笅鎷夊垪琛ㄤ腑閫夋嫨涓涓鎴鳳細(xì)
褰撶敤鎴峰湪涓婇潰鐨勪笅鎷夊垪琛ㄤ腑閫夋嫨鏌愪釜瀹㈡埛鏃訛紝浼?xì)鎵ц鍚嶄?"showCustomer()" 鐨勫嚱鏁般傝鍑芥暟鐢?"onchange" 浜嬩歡瑙﹀彂錛?/p>
function showCustomer(str) { var xmlhttp; if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getcustomer.asp?q="+str,true); xmlhttp.send(); }
showCustomer() 鍑芥暟鎵ц浠ヤ笅浠誨姟錛?/p>
鐢變笂闈㈢殑 JavaScript 璋冪敤鐨勬湇鍔″櫒欏甸潰鏄?ASP 鏂囦歡錛屽悕涓?"getcustomer.asp"銆?/p>
鐢?PHP 緙栧啓鏈嶅姟鍣ㄦ枃浠朵篃寰堝鏄擄紝鎴栬呯敤鍏朵粬鏈嶅姟鍣ㄨ璦銆傝鐪?a title="PHP 鍜?AJAX MySQL 鏁版嵁搴撳疄渚? style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">鐢?PHP 緙栧啓鐨勭浉搴旂殑渚嬪瓙銆?/p>
"getcustomer.asp" 涓殑婧愪唬鐮佽礋璐e鏁版嵁搴撹繘琛屾煡璇紝鐒跺悗鐢?HTML 琛ㄦ牸榪斿洖緇撴灉錛?/p>
<% response.expires=-1 sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID=" sql=sql & "'" & request.querystring("q") & "'" set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("/db/northwind.mdb")) set rs=Server.CreateObject("ADODB.recordset") rs.Open sql,conn response.write("<table>") do until rs.EOF for each x in rs.Fields response.write("<tr><td><b>" & x.name & "</b></td>") response.write("<td>" & x.value & "</td></tr>") next rs.MoveNext loop response.write("</table>") %>
AJAX 鐢ㄤ簬鍒涢犲姩鎬佹ф洿寮虹殑搴旂敤紼嬪簭銆?/span>
涓嬮潰鐨勪緥瀛愬皢涓烘?zhèn)ㄦ紨绀哄綋鐢ㄦ埛鍦ㄨ緭鍏ユ涓敭鍏ュ瓧绗︽椨灱尵|戦〉濡備綍涓?web 鏈嶅姟鍣ㄨ繘琛岄氫俊錛?/p>
璇峰湪涓嬮潰鐨勮緭鍏ユ涓敭鍏ュ瓧姣嶏紙A - Z錛夛細(xì)
寤鴻錛?/p>
褰撶敤鎴峰湪涓婇潰鐨勮緭鍏ユ涓敭鍏ュ瓧絎︽椂錛屼細(xì)鎵ц鍑芥暟 "showHint()" 銆傝鍑芥暟鐢?"onkeyup" 浜嬩歡瑙﹀彂錛?/p>
function showHint(str) { var xmlhttp; if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","gethint.asp?q="+str,true); xmlhttp.send(); }
濡傛灉杈撳叆妗嗕負(fù)絀?(str.length==0)錛屽垯璇ュ嚱鏁版竻絀?txtHint 鍗犱綅絎︾殑鍐呭錛屽茍閫鍑哄嚱鏁般?/p>
濡傛灉杈撳叆妗嗕笉涓虹┖錛宻howHint() 鍑芥暟鎵ц浠ヤ笅浠誨姟錛?/p>
鐢變笂闈㈢殑 JavaScript 璋冪敤鐨勬湇鍔″櫒欏甸潰鏄?ASP 鏂囦歡錛屽悕涓?"gethint.asp"銆?/p>
涓嬮潰錛屾垜浠垱寤轟簡涓や釜鐗堟湰鐨勬湇鍔″櫒鏂囦歡錛屼竴涓敤 ASP 緙栧啓錛屽彟涓涓敤 PHP 緙栧啓銆?/p>
"gethint.asp" 涓殑婧愪唬鐮佷細(xì)媯(gè)鏌ヤ竴涓悕瀛楁暟緇勶紝鐒跺悗鍚戞祻瑙堝櫒榪斿洖鐩稿簲鐨勫悕瀛楋細(xì)
<% response.expires=-1 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" '鑾峰緱鏉ヨ嚜 URL 鐨?q 鍙傛暟 q=ucase(request.querystring("q")) '濡傛灉 q 澶т簬 0錛屽垯鏌ユ壘鏁扮粍涓殑鎵鏈夋彁紺?/span> if len(q)>0 then hint="" for i=1 to 30 if q=ucase(mid(a(i),1,len(q))) then if hint="" then hint=a(i) else hint=hint & " , " & a(i) end if end if next end if '濡傛灉鏈壘鍒版彁紺猴紝鍒欒緭鍑?"no suggestion" '鍚﹀垯杈撳嚭姝g‘鐨勫?/span> if hint="" then response.write("no suggestion") else response.write(hint) end if %>
涓嬮潰鐨勪唬鐮佺敤 PHP 緙栧啓錛屼笌涓婇潰鐨?ASP 浠g爜浣滅敤鏄竴鏍風(fēng)殑銆?/p>
娉ㄩ噴錛?/span>濡傞渶鍦?PHP 涓繍琛岃繖涓緥瀛愶紝璇峰皢 url 鍙橀噺鐨勫鹼紙Javascript 浠g爜涓級(jí)鐢?"gethint.asp" 鏀逛負(fù) "gethint.php"銆?/p><?php // 鐢ㄥ悕瀛楁潵濉厖鏁扮粍 $a[]="Anna"; $a[]="Brittany"; $a[]="Cinderella"; $a[]="Diana"; $a[]="Eva"; $a[]="Fiona"; $a[]="Gunda"; $a[]="Hege"; $a[]="Inga"; $a[]="Johanna"; $a[]="Kitty"; $a[]="Linda"; $a[]="Nina"; $a[]="Ophelia"; $a[]="Petunia"; $a[]="Amanda"; $a[]="Raquel"; $a[]="Cindy"; $a[]="Doris"; $a[]="Eve"; $a[]="Evita"; $a[]="Sunniva"; $a[]="Tove"; $a[]="Unni"; $a[]="Violet"; $a[]="Liza"; $a[]="Elizabeth"; $a[]="Ellen"; $a[]="Wenche"; $a[]="Vicky"; //鑾峰緱鏉ヨ嚜 URL 鐨?q 鍙傛暟 $q=$_GET["q"]; //濡傛灉 q 澶т簬 0錛屽垯鏌ユ壘鏁扮粍涓殑鎵鏈夋彁紺?/span> if (strlen($q) > 0) { $hint=""; for($i=0; $i<count($a); $i++) { if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))) { if ($hint=="") { $hint=$a[$i]; } else { $hint=$hint." , ".$a[$i]; } } } } // 濡傛灉鏈壘鍒版彁紺猴紝鍒欐妸杈撳嚭璁劇疆涓?"no suggestion" // 鍚﹀垯璁劇疆涓烘紜殑鍊?/span> if ($hint == "") { $response="no suggestion"; } else { $response=$hint; } //杈撳嚭鍝嶅簲 echo $response; ?>
褰撹姹傝鍙戦佸埌鏈嶅姟鍣ㄦ椂錛屾垜浠渶瑕佹墽琛屼竴浜涘熀浜庡搷搴旂殑浠誨姟銆?/p>
姣忓綋 readyState 鏀瑰彉鏃訛紝灝變細(xì)瑙﹀彂 onreadystatechange 浜嬩歡銆?/p>
readyState 灞炴у瓨鏈?XMLHttpRequest 鐨勭姸鎬佷俊鎭?/p>
涓嬮潰鏄?XMLHttpRequest 瀵硅薄鐨勪笁涓噸瑕佺殑灞炴э細(xì)
灞炴?/th> | 鎻忚堪 |
---|---|
onreadystatechange | 瀛樺偍鍑芥暟錛堟垨鍑芥暟鍚嶏級(jí)錛屾瘡褰?readyState 灞炴ф敼鍙樻椂錛屽氨浼?xì)璋冪敤璇ュ嚱鏁般?/td> |
readyState | 瀛樻湁 XMLHttpRequest 鐨勭姸鎬併備粠 0 鍒?4 鍙戠敓鍙樺寲銆?/p>
|
status | 200: "OK" 404: 鏈壘鍒伴〉闈?/p> |
鍦?onreadystatechange 浜嬩歡涓紝鎴戜滑瑙勫畾褰撴湇鍔″櫒鍝嶅簲宸插仛濂借澶勭悊鐨勫噯澶囨椂鎵鎵ц鐨勪換鍔°?/p>
褰?readyState 絳変簬 4 涓旂姸鎬佷負(fù) 200 鏃訛紝琛ㄧず鍝嶅簲宸插氨緇細(xì)
xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }
娉ㄩ噴錛?/span>onreadystatechange 浜嬩歡琚Е鍙?5 嬈★紙0 - 4錛夛紝瀵瑰簲鐫 readyState 鐨勬瘡涓彉鍖栥?/p> callback 鍑芥暟鏄竴縐嶄互鍙傛暟褰㈠紡浼犻掔粰鍙︿竴涓嚱鏁扮殑鍑芥暟銆?/p> 濡傛灉鎮(zhèn)ㄧ殑緗戠珯涓婂瓨鍦ㄥ涓?AJAX 浠誨姟錛岄偅涔堟?zhèn)ㄥ簲璇ヤ负鍒涘?XMLHttpRequest 瀵硅薄緙栧啓涓涓?span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">鏍囧噯鐨勫嚱鏁幫紝騫朵負(fù)姣忎釜 AJAX 浠誨姟璋冪敤璇ュ嚱鏁般?/p> 璇ュ嚱鏁拌皟鐢ㄥ簲璇ュ寘鍚?URL 浠ュ強(qiáng)鍙戠敓 onreadystatechange 浜嬩歡鏃舵墽琛岀殑浠誨姟錛堟瘡嬈¤皟鐢ㄥ彲鑳戒笉灝界浉鍚岋級(jí)錛?/p>浣跨敤 Callback 鍑芥暟
function myFunction() { loadXMLDoc("ajax_info.txt",function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }); }
]]>
濡傞渶鑾峰緱鏉ヨ嚜鏈嶅姟鍣ㄧ殑鍝嶅簲錛岃浣跨敤 XMLHttpRequest 瀵硅薄鐨?responseText 鎴?responseXML 灞炴с?/p>
灞炴?/th> | 鎻忚堪 |
---|---|
responseText | 鑾峰緱瀛楃涓插艦寮忕殑鍝嶅簲鏁版嵁銆?/td> |
responseXML | 鑾峰緱 XML 褰㈠紡鐨勫搷搴旀暟鎹?/td> |
濡傛灉鏉ヨ嚜鏈嶅姟鍣ㄧ殑鍝嶅簲騫墮潪 XML錛岃浣跨敤 responseText 灞炴с?/p>
responseText 灞炴ц繑鍥炲瓧絎︿覆褰㈠紡鐨勫搷搴旓紝鍥犳鎮(zhèn)ㄥ彲浠ヨ繖鏍蜂嬌鐢細(xì)
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
濡傛灉鏉ヨ嚜鏈嶅姟鍣ㄧ殑鍝嶅簲鏄?XML錛岃屼笖闇瑕佷綔涓?XML 瀵硅薄榪涜瑙f瀽錛岃浣跨敤 responseXML 灞炴э細(xì)
璇鋒眰 books.xml 鏂囦歡錛屽茍瑙f瀽鍝嶅簲錛?/p>
xmlDoc=xmlhttp.responseXML; txt=""; x=xmlDoc.getElementsByTagName("ARTIST"); for (i=0;i<x.length;i++) { txt=txt + x[i].childNodes[0].nodeValue + "<br />"; } document.getElementById("myDiv").innerHTML=txt;
濡傞渶鑾峰緱鏉ヨ嚜鏈嶅姟鍣ㄧ殑鍝嶅簲錛岃浣跨敤 XMLHttpRequest 瀵硅薄鐨?responseText 鎴?responseXML 灞炴с?/p>
灞炴?/th> | 鎻忚堪 |
---|---|
responseText | 鑾峰緱瀛楃涓插艦寮忕殑鍝嶅簲鏁版嵁銆?/td> |
responseXML | 鑾峰緱 XML 褰㈠紡鐨勫搷搴旀暟鎹?/td> |
濡傛灉鏉ヨ嚜鏈嶅姟鍣ㄧ殑鍝嶅簲騫墮潪 XML錛岃浣跨敤 responseText 灞炴с?/p>
responseText 灞炴ц繑鍥炲瓧絎︿覆褰㈠紡鐨勫搷搴旓紝鍥犳鎮(zhèn)ㄥ彲浠ヨ繖鏍蜂嬌鐢細(xì)
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
濡傛灉鏉ヨ嚜鏈嶅姟鍣ㄧ殑鍝嶅簲鏄?XML錛岃屼笖闇瑕佷綔涓?XML 瀵硅薄榪涜瑙f瀽錛岃浣跨敤 responseXML 灞炴э細(xì)
璇鋒眰 books.xml 鏂囦歡錛屽茍瑙f瀽鍝嶅簲錛?/p>
xmlDoc=xmlhttp.responseXML; txt=""; x=xmlDoc.getElementsByTagName("ARTIST"); for (i=0;i<x.length;i++) { txt=txt + x[i].childNodes[0].nodeValue + "<br />"; } document.getElementById("myDiv").innerHTML=txt;
XMLHttpRequest 瀵硅薄鐢ㄤ簬鍜屾湇鍔″櫒浜ゆ崲鏁版嵁銆?/span>
濡傞渶灝嗚姹傚彂閫佸埌鏈嶅姟鍣紝鎴戜滑浣跨敤 XMLHttpRequest 瀵硅薄鐨?open() 鍜?send() 鏂規(guī)硶錛?/p>
xmlhttp.open("GET","test1.txt",true); xmlhttp.send();
鏂規(guī)硶 | 鎻忚堪 |
---|---|
open(method,url,async) | 瑙勫畾璇鋒眰鐨勭被鍨嬨乁RL 浠ュ強(qiáng)鏄惁寮傛澶勭悊璇鋒眰銆?/p>
|
send(string) | 灝嗚姹傚彂閫佸埌鏈嶅姟鍣ㄣ?/p>
|
涓?POST 鐩告瘮錛孏ET 鏇寸畝鍗曚篃鏇村揩錛屽茍涓斿湪澶ч儴鍒嗘儏鍐典笅閮借兘鐢ㄣ?/p>
鐒惰岋紝鍦ㄤ互涓嬫儏鍐典腑錛岃浣跨敤 POST 璇鋒眰錛?/p>
涓涓畝鍗曠殑 GET 璇鋒眰錛?/p>
xmlhttp.open("GET","demo_get.asp",true); xmlhttp.send();
鍦ㄤ笂闈㈢殑渚嬪瓙涓紝鎮(zhèn)ㄥ彲鑳藉緱鍒扮殑鏄紦瀛樼殑緇撴灉銆?/p>
涓轟簡閬垮厤榪欑鎯呭喌錛岃鍚?URL 娣誨姞涓涓敮涓鐨?ID錛?/p>
xmlhttp.open("GET","demo_get.asp?t=" + Math.random()
,true); xmlhttp.send();
濡傛灉鎮(zhèn)ㄥ笇鏈涢氳繃 GET 鏂規(guī)硶鍙戦佷俊鎭紝璇峰悜 URL 娣誨姞淇℃伅錛?/p>
xmlhttp.open("GET","demo_get2.asp?fname=Bill&lname=Gates",true); xmlhttp.send();
涓涓畝鍗?POST 璇鋒眰錛?/p>
xmlhttp.open("POST","demo_post.asp",true); xmlhttp.send();
濡傛灉闇瑕佸儚 HTML 琛ㄥ崟閭f牱 POST 鏁版嵁錛岃浣跨敤 setRequestHeader() 鏉ユ坊鍔?HTTP 澶淬傜劧鍚庡湪 send() 鏂規(guī)硶涓瀹氭?zhèn)ㄥ笇鏈涘彂閫佺殑鏁版嵁錛?/p>
xmlhttp.open("POST","ajax_test.asp",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Bill&lname=Gates");
鏂規(guī)硶 | 鎻忚堪 |
---|---|
setRequestHeader(header,value) | 鍚戣姹傛坊鍔?HTTP 澶淬?/p>
|
open() 鏂規(guī)硶鐨?nbsp;url 鍙傛暟鏄湇鍔″櫒涓婃枃浠剁殑鍦板潃錛?/p>
xmlhttp.open("GET","ajax_test.asp",true);
璇ユ枃浠跺彲浠ユ槸浠諱綍綾誨瀷鐨勬枃浠訛紝姣斿 .txt 鍜?.xml錛屾垨鑰呮湇鍔″櫒鑴氭湰鏂囦歡錛屾瘮濡?.asp 鍜?.php 錛堝湪浼犲洖鍝嶅簲涔嬪墠錛岃兘澶熷湪鏈嶅姟鍣ㄤ笂鎵ц浠誨姟錛夈?/p>
AJAX 鎸囩殑鏄紓姝?JavaScript 鍜?XML錛圓synchronous JavaScript and XML錛夈?/p>
XMLHttpRequest 瀵硅薄濡傛灉瑕佺敤浜?AJAX 鐨勮瘽錛屽叾 open() 鏂規(guī)硶鐨?async 鍙傛暟蹇呴』璁劇疆涓?true錛?/p>
xmlhttp.open("GET","ajax_test.asp",true
);
瀵逛簬 web 寮鍙戜漢鍛樻潵璇達(dá)紝鍙戦佸紓姝ヨ姹傛槸涓涓法澶х殑榪涙銆傚緢澶氬湪鏈嶅姟鍣ㄦ墽琛岀殑浠誨姟閮界浉褰撹垂鏃躲侫JAX 鍑虹幇涔嬪墠錛岃繖鍙兘浼?xì)寮曡捣搴旂敤绋嬪簭鎸傝典h垨鍋滄銆?/p>
閫氳繃 AJAX錛孞avaScript 鏃犻渶絳夊緟鏈嶅姟鍣ㄧ殑鍝嶅簲錛岃屾槸錛?/p>
褰撲嬌鐢?async=true 鏃訛紝璇瘋瀹氬湪鍝嶅簲澶勪簬 onreadystatechange 浜嬩歡涓殑灝辯華鐘舵佹椂鎵ц鐨勫嚱鏁幫細(xì)
xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","test1.txt",true); xmlhttp.send();
鎮(zhèn)ㄥ皢鍦ㄧ◢鍚庣殑绔犺妭瀛︿範(fàn)鏇村鏈夊叧 onreadystatechange 鐨勫唴瀹廣?/p>
濡傞渶浣跨敤 async=false錛岃灝?open() 鏂規(guī)硶涓殑絎笁涓弬鏁版敼涓?false錛?/p>
xmlhttp.open("GET","test1.txt",false);
鎴戜滑涓嶆帹鑽愪嬌鐢?async=false錛屼絾鏄浜庝竴浜涘皬鍨嬬殑璇鋒眰錛屼篃鏄彲浠ョ殑銆?/p>
璇瘋浣忥紝JavaScript 浼?xì)绛夊埌鏈嶅姟鍣ㄥ搷搴敒q華鎵嶇戶緇墽琛屻傚鏋滄湇鍔″櫒綣佸繖鎴栫紦鎱紝搴旂敤紼嬪簭浼?xì)鎸傝典h垨鍋滄銆?/p>
娉ㄩ噴錛?/span>褰撴?zhèn)ㄤ娇鐢?async=false 鏃訛紝璇蜂笉瑕佺紪鍐?onreadystatechange 鍑芥暟 - 鎶婁唬鐮佹斁鍒?send() 璇彞鍚庨潰鍗沖彲錛?/p>xmlhttp.open("GET","test1.txt",false); xmlhttp.send(); document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
XMLHttpRequest 鏄?AJAX 鐨勫熀紜銆?/span>
鎵鏈夌幇浠f祻瑙堝櫒鍧囨敮鎸?XMLHttpRequest 瀵硅薄錛圛E5 鍜?IE6 浣跨敤 ActiveXObject錛夈?/p>
XMLHttpRequest 鐢ㄤ簬鍦ㄥ悗鍙頒笌鏈嶅姟鍣ㄤ氦鎹㈡暟鎹傝繖鎰忓懗鐫鍙互鍦ㄤ笉閲嶆柊鍔犺澆鏁翠釜緗戦〉鐨勬儏鍐典笅錛屽緗戦〉鐨勬煇閮ㄥ垎榪涜鏇存柊銆?/p>
鎵鏈夌幇浠f祻瑙堝櫒錛圛E7+銆丗irefox銆丆hrome銆丼afari 浠ュ強(qiáng) Opera錛夊潎鍐呭緩 XMLHttpRequest 瀵硅薄銆?/p>
variable=new XMLHttpRequest();
variable=new ActiveXObject("Microsoft.XMLHTTP");
涓轟簡搴斿鎵鏈夌殑鐜頒唬嫻忚鍣紝鍖呮嫭 IE5 鍜?IE6錛岃媯(gè)鏌ユ祻瑙堝櫒鏄惁鏀寔 XMLHttpRequest 瀵硅薄銆傚鏋滄敮鎸侊紝鍒欏垱寤?XMLHttpRequest 瀵硅薄銆傚鏋滀笉鏀寔錛屽垯鍒涘緩 ActiveXObject 錛?/p>
var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
鍦ㄤ笅涓绔犱腑錛屾?zhèn)畣瀛︿範(fàn)鍙戦佹湇鍔″櫒璇鋒眰鐨勭煡璇嗐?/p>
AJAX 鏄竴縐嶅湪鏃犻渶閲嶆柊鍔犺澆鏁翠釜緗戦〉鐨勬儏鍐典笅錛岃兘澶熸洿鏂伴儴鍒嗙綉欏電殑鎶鏈?/span>
鍦ㄧ戶緇涔?fàn)涔嬪墠锛屾?zhèn)ㄩ渶瑕佸涓嬮潰鐨勭煡璇嗘湁鍩烘湰鐨勪簡瑙o細(xì)
濡傛灉鎮(zhèn)ㄥ笇鏈涢鍏堝涔?fàn)杩欎簺椤圭洰锛岃鍦ㄦ垜浠?a title="W3School 鍦ㄧ嚎鏁欑▼" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">棣栭〉璁塊棶榪欎簺鏁欑▼銆?/p>
AJAX = 寮傛 JavaScript 鍜?XML銆?/p>
AJAX 鏄竴縐嶇敤浜庡垱寤哄揩閫熷姩鎬佺綉欏電殑鎶鏈?/p>
閫氳繃鍦ㄥ悗鍙頒笌鏈嶅姟鍣ㄨ繘琛屽皯閲忔暟鎹氦鎹紝AJAX 鍙互浣跨綉欏靛疄鐜板紓姝ユ洿鏂般傝繖鎰忓懗鐫鍙互鍦ㄤ笉閲嶆柊鍔犺澆鏁翠釜緗戦〉鐨勬儏鍐典笅錛屽緗戦〉鐨勬煇閮ㄥ垎榪涜鏇存柊銆?/p>
浼犵粺鐨勭綉欏碉紙涓嶄嬌鐢?AJAX錛夊鏋滈渶瑕佹洿鏂板唴瀹癸紝蹇呴渶閲嶈澆鏁翠釜緗戦〉闈€?/p>
鏈夊緢澶氫嬌鐢?AJAX 鐨勫簲鐢ㄧ▼搴忔渚嬶細(xì)鏂版氮寰崥銆丟oogle 鍦板浘銆佸紑蹇冪綉絳夌瓑銆?/p>
鍦?2005 騫達(dá)紝Google 閫氳繃鍏?Google Suggest 浣?AJAX 鍙樺緱嫻佽璧鋒潵銆?/p>
Google Suggest 浣跨敤 AJAX 鍒涢犲嚭鍔ㄦ佹ф瀬寮虹殑 web 鐣岄潰錛氬綋鎮(zhèn)ㄥ湪璋鋒瓕鐨勬悳绱㈡杈撳叆鍏抽敭瀛楁椂錛孞avaScript 浼?xì)鎶姌q欎簺瀛楃鍙戦佸埌鏈嶅姟鍣紝鐒跺悗鏈嶅姟鍣ㄤ細(xì)榪斿洖涓涓悳绱㈠緩璁殑鍒楄〃銆?/p>
AJAX 鍩轟簬宸叉湁鐨勬爣鍑嗐傝繖浜涙爣鍑嗗凡琚ぇ澶氭暟寮鍙戣呬嬌鐢ㄥ騫淬?/p>
璇烽槄璇諱笅涓绔狅紝鐪嬬湅 AJAX 鏄浣曞伐浣滅殑錛?/p>
涓轟簡甯姪鎮(zhèn)ㄧ悊瑙?AJAX 鐨勫伐浣滃師鐞嗭紝鎴戜滑鍒涘緩浜嗕竴涓皬鍨嬬殑 AJAX 搴旂敤紼嬪簭銆?/span>
AJAX is not a programming language.
It is just a technique for creating better and more interactive web applications.
涓婇潰鐨?AJAX 搴旂敤紼嬪簭鍖呭惈涓涓?div 鍜屼竴涓寜閽?/p>
div 閮ㄥ垎鐢ㄤ簬鏄劇ず鏉ヨ嚜鏈嶅姟鍣ㄧ殑淇℃伅銆傚綋鎸夐挳琚偣鍑?yán)L椂錛屽畠璐熻矗璋冪敤鍚嶄負(fù) loadXMLDoc() 鐨勫嚱鏁幫細(xì)
<html> <body> <div id="myDiv"><h3>Let AJAX change this text</h3></div> <button type="button" onclick="loadXMLDoc()">Change Content</button> </body> </html>
鎺ヤ笅鏉ワ紝鍦ㄩ〉闈㈢殑 head 閮ㄥ垎娣誨姞涓涓?<script> 鏍囩銆傝鏍囩涓寘鍚簡榪欎釜 loadXMLDoc() 鍑芥暟錛?/p>
<head> <script type="text/javascript"> function loadXMLDoc() { .... AJAX script goes here ... } </script> </head>
涓嬮潰鐨勭珷鑺備細(xì)涓烘?zhèn)ㄨ瑙?AJAX 鐨勫伐浣滃師鐞嗐?/p>