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