AJAX本身就是客户端的技术,异步的JavaScript和XML技术,所谓异步,就是你做你的,我做我的,我们不需要同步。比如注册的时候,当你在填完用户名,接着填写密码的时候,电脑可以边检查账号是否合法。那么怎么来实现这个技术呢?
其实说起来很简单,也就3步吧:
第一步:创建浏览器对象
第二步:用此对象的方法提交数据到服务器端处理,等待处理结果,即等待服务器的相应
第三步:等到结果后,具体做什么处理
//判断浏览器型号
第一步:创建浏览器对象,代码如下
varxmlHttp;
functioncreateXmlHttpRequest()
{
if(window.XMLHttpRequest)
{
xmlHttp=newXMLHttpRequest();
if(xmlHttp.overrideMimeType)
{
xmlHttp.overrideMimeType("text/xml");
}
}
elseif(window.ActiveXObject)
{
try
{
xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}
}
if(!xmlHttp)
{
window.alert("你的浏览器不支持创建XMLhttpRequest对象");
}
returnxmlHttp;
}
第二步:用第一步创建的对象把数据提交到服务器端进行处理,代码如下
functionSendData(number)
{
createXmlHttpRequest();//第一步的创建对象
varurl="DataFile/CheckAdName.aspx?data="+number;//定义一URL,用于发送数据
xmlHttp.open("POST",url,true);//以POST方式提交,当然,还有另外一种GET
xmlHttp.onreadystatechange=ProcessResult;//得到结果后的处理函数
xmlHttp.send(null);
}
第三步:等得到结果后,具体做什么处理,代码如下:
functionProcessResult()
{
varobj=document.getElementById("showResult");//这是显示页面的一个标签
if(xmlHttp.readyState==4)//服务器响应状态
{
if(xmlHttp.status==200)//代码执行状态
{
obj.innerHTML="您提交的数据是"+xmlHttp.responseText;
//xmlHttp.responseText就是我们在服务器端处理后打印的结果,让他显示在标签上
}
}
}