Ajax运行原理

来源:互联网 发布:广东网络医院设在哪里 编辑:程序博客网 时间:2024/06/06 05:19

      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就是我们在服务器端处理后打印的结果,让他显示在标签上

        }   

    }

}

原创粉丝点击