Ajax技术特点:
1) 页面无刷新
2) 不打断用户的操作,用户的体验好。
3) 按需获取数据,浏览器与服务器之间数据的传输量减少。
4) 是一个标准技术,不需要下载任何的揑件。
5) 可以利用客户端(浏览器)的计算能力。
通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。
不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器---例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作---假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。
function createXmlHttpRequest(){//创建XMLHttpRequest对象
var xmlHttp;
try { //Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e) {
try { //Internet Explorer
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
return xmlHttp;
}
关于XMLHttpRequest对象属性与方法一览:
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//xhr是xmlHttpRequest对象
2.需要请求的页面(Page)或代码(Script)?xhr.open("post","/AJAX/servlet/CheckUsernameServlet?time = "+new Date().getTime());
3.将请求的页面或代码加载到页面什么位置?function makerequest(serverPage, objID)
{
//将要被替换的页面位置obj
var obj = document.getElementById(objID);
//发出页面(serverPage)请求
xmlhttp.open("GET", serverPage);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
//将服务器返回的信息替换到页面位置obj
obj.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}原文:http://blog.csdn.net/chdjj/article/details/18840887