3 回答

TA貢獻1804條經驗 獲得超3個贊
AJAX全稱為Asynchronous JavaScript And XML直譯就是異步的JavaScript和XML。
通常當JavaScript向服務器發送請求獲取數據時,服務器會返回數據。在傳統沒有使用AJAX的網頁中,需要刷新頁面使其重新加載。而AJAX可以使網頁在不重新加載頁面的情況下對網頁的局部進行更新。
使用AJAX主要分三部分:
1、 創建請求的變量。
2、 為請求添加事件處理代碼。
3、 配置發送請求。
【AJAX舉例】
12345678910111213141516 | var myRequest; if (window.XMLHttpRequest) { myRequest = new XMLHttpRequest();} else if (window.ActiveXObject) { myRequest = new ActiveXObject( "Microsoft.XMLHTTP" ); } myRequest.onreadystatechange = function (){ console.log( "匿名函數被調用!" ); console.log(myRequest.readyState); if (myRequest.readyState === 4) { var p = document.createElement( "p" ); var t = document.createTextNode(myRequest.responseText); p.appendChild(t); document.getElementById( "mainContent" ).appendChild(p);}}; myRequest.open( 'GET' , 'simple.txt' , true ); myRequest.send( null ); |

TA貢獻1805條經驗 獲得超9個贊
AJAX核心是內置對象XMLHttpRequest對象,通過這個對象發送請求到其它網頁,再返回一個值.
舉個例子:有一個網頁aa.htm
<html>
<body>
<script language="javascript">
var XHR;
function createXHR(){
if(window.XMLHttpRequest){
XHR=new XMLHttpRequest();
}else{
XHR=new ActiveXObject("Microsoft.XMLHTTP");
}
}
//先創建一個XMLHttpRequest對象
function showMsg(){
createXHR();
XHR.open("post","bb.htm");//設置一個請求,向bb.htm發送請求.
XHR.onreadystatechange=showMsgCallback;//設置回調函數
XHR.send(null);//不傳遞參數
}
function showMsgCallback(){
if(XHR.readyState==4){
if(XHR.status==200){
var text=XHR.responseText;//得到一個返回值(從bb.htm那里得到hello world)
document.getElementById("msg").innerHTML=text; //輸出hello world這句話
}
}
}
</script>
<input type="button" onclick="showMsg()" value="調用">
<span id="msg"></span>
</body>
</html>
bb.htm這個網頁只設置這一句話:
hello world
另外,補充一句:AJAX只能運行在服務器,在JSP,PHP。。。中都可以運行
添加回答
舉報