Ajax的初识

来源:互联网 发布:家庭记账软件推荐 编辑:程序博客网 时间:2024/05/13 15:23
JavaScript,XML早就问世了,Ajax2005年出来的东西,其实也不是什么新东西,就是把原有的技术结合在一起的产物,而这种应用却是现在最流行的,异步请求处理,这样大大缩短了服务器的响应时间,再加上页面做到无刷新,真是用处很大。例如,一个用户注册页面,要验证该用户存在不存在,没有采用Ajax技术的通常处理方式,在填写用户名的文本框旁边放一个检测按钮,检测该用户是否存在,而现在采用Ajax技术,当我们填完用户名以后,就开启一个异步处理请求,我们可以继续填写其他信息,当异步处理结果传回来以后,不需要页面刷新就会提示注册用户,用户名是否已经被注册了。Ajax的应用很广泛,经常上网的人都知道,Google也采用了这种技术。接下来我们从代码初识一下个大概。
首先,认识下在Ajax中一个很重要的对象XMLHttpRequest对象,这个对象的比较重要的属性如下:
readystate:只读属性,目前的状态的长整数,值4表示请求处理完成
onreadystatechange:读/写属性,运行readystate属性改变的事件处理,设置处理的程序。
比较重要的方法如下:
open(method,url,async,userid,pwd):打开Http请求
send();传送Http请求到服务器
接下来看段部分代码的典型应用:
//建立XMLHttpRequest对象
function getHttpRequestObject(handler)
{ var httpRequest=null;
  if(window.XMLHttpRequest){httpRequest=new XMLHttpRequest();}
  else if(window.ActiveXObject){// IE5,IE6  找出最新版MSXML剖析器
   var msxmls=["MSXML2.XMLHttp.4.0","MSXML2.XMLHttp..0","MSXML2.XMLHttp","Mircosoft.XMLHttp"];
   for(i=0;i<msxmls.length;i++)
   try{//建立XMLHttpRequest对象
        httpRequest=new ActiveXObject(msxmls[i]);
         break;
      }catch(e){  return null;}
   }
    //指定事件处理程序的名称
  httpRequest.onreadystatechange=Handler;//指定异步执行函数名
    return httpRequest;
}
­
//打开和发送异步请求
function makeRequest(httpRequest,url)
{
   httpRequest.open("Get",url,true);
   //true表示不等到服务器响应继续执行Javascript脚本。false则相反。url :表示处理页面的Url
   httpRequest.send(null);
}
­
function Handler()
{
  if(xmlHttp.readyState==4){  //已经成功响应
         var xmlResult=xmlHttp.responseXML;//获取响应
         //这里可以操作客户端的一些如<span><div>等标记,用于输出异步回调的值。
      }
}
­
function getInfo()//发送请求来获取信息
{
    xmlHttp=getHttpRequestObject(Handle);// 创建请求对象,指定回调函数
    if(xmlHttp!=null)
    {
        url=url+"?A=a"。。。//设置查询字符串
       makeRequst(xmlHttp,url);//建立Http请求,并发送请求
    }else{
          alert("错误!浏览器不支持XMLHttpRequest对象!");
          return;
    }
}
­
此外一般都在,用户界面中加入<div><span>等标签,来显示处理结果。
­
­