Ajax是开发富因特网应用的必备工具,它可以完成异步的数据请求,并返回用户的请求数据以供调用。通过 AJAX,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。所以Ajax使基于web应用的工程项目更富于人性化。
下面分析一个典型的Ajax程序。
示例代码如下
<script language="javascript">
var xmlHttp ;
//首先创建一个XHR对象,这一步是根据浏览器的不同,创建方式也不同
function createXMLHttpRequest(){
if(window.XMLHttpRequest){//这是除IE外的创建方式
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){//这里是IE5+的XHR创建方式
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){//这里是IE5-的创建方式
try{
xmlHttp = new ActiveObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
}
//自定义Ajax请求函数
function startRequest(){
var url="";
createXMLHttpRequest();//此处创建XHR对象
xmlHttp.onreadystatechange = handleStateChange;//调用Ajax处理函数
xmlHttp.open("post",url,true);//指定请求路径和方式,true表示异步方式发送请求,false相反
xmlHttp.send(null);//发送请求
}
function handleStateChange(){
if(xmlHttp.readyState==4){//处理请求状态,4表示请求完成
if(xmlHttp.status>=200&&xmlHttp.status<300){//处理请求状态,200-299表示成功,300+表示各种失败
slt.innerHTML=xmlHttp.responseText;//页面元素接收请求返回的信息
//document.form.city.options.value=xmlHttp.responseText;
//document.getElementById("city").value=xmlHttp.responseText;
}
}
}
</script>
注意这里的返回信息是文本格式,另外一种返回是以xml形式返回,需要解析。