js原生的Ajax其實就是圍繞瀏覽器內內置的Ajax引擎對象進行學習的,要使用js原 生的Ajax完成異步操作,有如下幾個步驟:
1)創建Ajax引擎對象
2)為Ajax引擎對象綁定監聽(監聽服務器已將數據響應給引擎)
3)綁定提交地址
4)發送請求
5)接受響應數據

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function fn1(){
//1、創建ajax引擎對象 ---- 所有的操作都是通過引擎對象
var xmlHttp = new XMLHttpRequest();
//2、綁定監聽 ---- 監聽服務器是否已經返回相應數據
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
//5、接受相應數據
var res = xmlHttp.responseText;
document.getElementById("span1").innerHTML = res;
}
}
//3、綁定地址
xmlHttp.open("GET","/WEB22/ajaxServlet?name=lisi",true);
//4、發送請求
xmlHttp.send();
}
function fn2(){
//1、創建ajax引擎對象 ---- 所有的操作都是通過引擎對象
var xmlHttp = new XMLHttpRequest();
//2、綁定監聽 ---- 監聽服務器是否已經返回相應數據
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
//5、接受相應數據
var res = xmlHttp.responseText;
document.getElementById("span2").innerHTML = res;
}
}
//3、綁定地址
xmlHttp.open("POST","/WEB22/ajaxServlet",false);
//4、發送請求
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send("name=wangwu");
}
</script>
</head>
<body>
<input type="button" value="異步訪問服務器端" onclick="fn1()"><span id="span1"></span>
<br>
<input type="button" value="同步訪問服務器端" onclick="fn2()"><span id="span2"></span>
<br>
<input type="button" value="測試按鈕" onclick="alert()">
</body>
</html>
注意:
注意:如果是post提交
在發送請求之前設置一個頭
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
get請求的請求參數在open(如fn1中的參數傳遞方法)中或send中都可以(如fn2中的參數傳遞方法)
