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;