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。。。中都可以运行
添加回答
举报