AJAX (寮傛 javascript 鍜?XML) 鏄釜鏂頒駭鐢熺殑鏈錛屼笓涓烘弿榪癹avascript鐨勪袱欏瑰己澶фц兘錛岃繖涓ら」寮哄ぇ鎬ц兘鏄細
1.鏃犻渶閲嶆柊瑁呰澆鏁翠釜欏甸潰渚胯兘鍚戞湇鍔″櫒鍙戦佽姹?
銆銆2.瀵筙ML鏂囨。鐨勮В鏋愬拰澶勭悊錛?br />
鍙戦丠TTP璇鋒眰錛?br />
棣栧厛鍒涢犱竴涓被瀹炰緥
try{
request = new XMLHttpRequest();
}catch(trymicrosoft) {
try{
request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(othermicrosoft){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
}catch (failed) {
request = false ;
}
}
}
寰楀埌鍝嶅簲鍚庡氨鐢ㄨ繖鍙ワ細
request.onreadystatechange = loginCallBack;
榪欓噷鎸囧嚭瑕佺敤閭d釜JS鍑芥墽琛岋紝榪欓噷鏄痩oginCallBack鍑芥暟錛岃繖閲岀殑鍑芥暟鏃犻渶鎷彿涔熸棤闇鍙傛暟銆?br />
鍦ㄥ畾涔変簡濡備綍澶勭悊鍝嶅簲鍚?灝辮鍙戦佽姹備簡銆傚彲浠ヨ皟鐢℉TTP璇鋒眰綾葷殑open()鍜宻end()鏂規硶錛屽涓嬫墍紺猴細
request.open("get",url,true);
request.send(null);
open()鐨勭涓涓弬鏁版槸HTTP璇鋒眰鏂瑰紡 - GET錛孭OST錛孒EAD 鎴栦換浣曟湇鍔″櫒鎵鏀寔鐨勬偍鎯寵皟鐢ㄧ殑鏂瑰紡銆傝繖涓弬鏁版渶濂藉ぇ鍐欙紝鏌愪簺嫻忚鍣?濡侳irefox)鍙兘鏃犳硶澶勭悊璇鋒眰銆?br />
銆銆絎簩涓弬鏁版槸璇鋒眰欏甸潰鐨刄RL.鐢變簬鑷韓瀹夊叏鐗規х殑闄愬埗,璇ラ〉闈笉鑳戒負絎笁鏂瑰煙鍚嶇殑欏甸潰.鍚屾椂涓瀹氳淇濊瘉鍦ㄦ墍鏈夌殑欏甸潰涓兘浣跨敤鍑嗙‘鐨勫煙鍚?鍚﹀垯璋冪敤鍑洪敊銆?br />
銆銆絎笁涓弬鏁拌緗姹傛槸鍚︿負寮傛妯″紡銆傚鏋滄槸TRUE, javascript鍑芥暟灝嗙戶緇墽琛岋紝鑰屼笉絳夊緟鏈嶅姟鍣ㄥ搷搴斻?br />
濡傛灉絎竴涓弬鏁版槸post錛宻end鏂規硶鍙互浼犻掑弬鏁版牸寮忚窡鎴戜滑WEB寮鍙戞槸嫻忚鍣ㄥ湴鍧涓鍥炰簨錛屽涓彲浠ョ敤&榪炴帴錛氾紵錛?錛燂紵&錛燂紵=錛燂紵錛堢敤闂彿琛ㄧず涓嬶級銆?br />
function loginCallBack(){
if(request.readyState == 4 )
if (request.status == 200 ){
var mess = request.responseText;
}
}
榪欓噷棣栧厛鍑芥暟媯鏌ヨ姹傜殑鐘舵侊紝濡傛灉鏄?錛屽氨鎰忓懗鐫涓涓畬鏁寸殑鏈嶅姟鍣ㄥ搷搴斿凡緇忔敹鍒頒簡錛屽彲浠ュ鐞嗚鍝嶅簲銆?br />
銆readyState鐨勫煎涓?
銆銆0 (鏈垵濮嬪寲)
銆銆1 (姝e湪瑁呰澆)
銆銆2 (瑁呰澆瀹屾瘯)
銆銆3 (浜や簰涓?
銆銆4 (瀹屾垚)
鐒跺悗錛屽嚱鏁頒細媯鏌TTP鏈嶅姟鍣ㄥ搷搴旂殑鐘舵佸鹼紝鏄?00琛ㄧず鐘舵佸畬鏁淬?br />
褰撹繖涓や釜褰撴弧瓚沖悗灝卞彲浠ュ鐞嗘暟鎹簡錛屽彇寰楁暟鎹殑鏂瑰紡鏈変袱縐嶏細
request.responseText
request.responseXML
絎竴縐嶆槸浠ユ枃鏈瓧絎︿覆鐨勬柟寮忚繑鍥炴湇鍔″櫒鐨勫搷搴旓紱
絎簩縐嶆槸浠MLDocument瀵硅薄鏂瑰紡榪斿洖鍝嶅簲銆?br />
涓嬮潰鏉ョ湅渚嬪瓙錛?br />
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<script type="text/javascript" language="javascript">
function gotoSubmit(){
getRequest();//鑾峰緱璇鋒眰
if(!request){
alert("璇ユ祻瑙堝櫒涓嶆敮鎸乆MLHttpRequest!");
return false;
}
request.onreadystatechange = loginCallBack;
var url = "index.jsp";
request.open("post",url,false);
//request.open("get",url,true);
request.send(null);
}
function getRequest(){
try{
request = new XMLHttpRequest();
}catch(trymicrosoft) {
try{
request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(othermicrosoft){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
}catch (failed) {
request = false ;
}
}
}
}
function loginCallBack(){
if(request.readyState == 4 )
if (request.status == 200 ){
var mess = request.responseText;
}
}
</script>
<span
style="cursor: pointer; text-decoration: underline"
onclick="gotoSubmit()">
gotoSubmit
</span>
</body>
</html>
璺戣搗宸ョ▼鍚庡湪榪欎釜欏甸潰涓婄偣鍑籫otoSubmit錛屼細寮瑰嚭index.jsp欏甸潰鐨勬墍鏈夊唴瀹廣?br />
鏉ョ湅鐪嬪鐞唜ml鏂囦歡錛屽鐞嗙殑xml鏂囦歡濡備笅錛?br />
<?xml version="1.0" ?>
<name>
laoding
</name>
涓婇潰浠g爜瑕佹敼鐨勫湴鏂規湁涓や釜錛岀涓鎶妘rl鎹㈡垚榪欎釜xml鏂囦歡鐨勮礬寰勶紝絎簩涓湴鏂規槸寮瑰嚭淇℃伅鐨勫湴鏂癸細
var mess=request.responseText;
alert(mess);
鎶婅繖涓ゅ彞鎹㈡垚錛?br />
var xmldoc = request.responseXML;
var root_node = xmldoc.getElementsByTagName('name').item(0);
alert(root_node.firstChild.data);
鍐嶆墽琛岀▼搴忓氨浼氱湅鍒版晥鏋滀簡錛屽ソ浜嗭紝鍒版緇撴潫浜嗭紝鐪肩潧鐥涘洖鍘諱紤鎭?br />

]]>