ajax是什么
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
创建XMLHttpRequest对象
function GetXmlHttpObject() {
var xmlHttp=null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e) {
// Internet Explorer
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
var xmlHttp=GetXmlHttpObject();
onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
onreadystatechange: 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState: 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
status:
200: "OK"
404: 未找到页面
Async = true
当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:
xmlHttp.onreadystatechange=function() {
if (xmlHttp.readyState==4 && xmlHttp.status==200){
var data = xmlHttp.responseText;
document.getElementById("myDiv").innerHTML=data;
}
}
xmlHttp.open("GET","test.json?data=test",true);
xmlHttp.send();
Async = false
xmlhttp.open("GET","test.json",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;