Asynchronous JavaScript and XML
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。是在不重新加载整个页面的情况下,与服务器交换数据并异步更新部分网页的技术。
在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。
工作原理:
XMLHttpRequest
对象 在后台,异步地与服务器交换数据。
创建
最早是IE5中以组件的形式实现的。由于非W3C标准,实现方式不统一:
IE5、6它被实现为一个ActiveX对象;
其他浏览器把它实现为一个JavaScript对象。
但属性和方法访问是兼容的。
function getHttpObject(){
var xhr = false;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else if(window.ActiveXObject){
xhr = new ActiveXObject("Microsoft.XMLHttp");
}
return xhr;
}
常用方法、属性
open("method","url")
建立对服务器的调用。url既可以是相对的也可以是绝对的。
send(content)
向服务器发送请求。
setRequestHeader("header","value")
把指定头部设置为所提供的值。之前需要调用open()方法。
readState
请求的状态,0未初始化,1正在加载,2已经加载,3交互中,4完成。
onreadystatechange
每个状态改变都会触发这个事件处理器。
status
服务器的HTTP状态码。
responseXML
服务器响应,返回XML,这个对象可以解析为DOM对象。
responseText
服务器响应回一个串。