Ajax通讯原理XMLHttpRequest

AJAX = 异步 JavaScript 和 XML。JavaScript不用说脚本语言,XML也不用说可扩展标记语言用于存放数据信息。

显然AJax就是利用JavaScript脚本访问数据的一种技术。

AJAX 使网页实现异步更新。这就是在不重新加载整个网页的情况下,对网页进行局部更新。

XMLHttpRequest 是 AJAX 的关键

现在浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

向后台请求数据readyState有五个状态0:服务器未初始化,1:服务器连接已建立,2请求已接受收,3请求处理中,4请求完成。

每改变一次状态都好触发一次onreadystatechange 事件,status有两个状态:200:“OK”,404:“未找到页面”

下面看一段Ajax前台实现代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
    function getName(){
    var xmlhttp;
    if(window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
    }else{
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function(){
       if(xmlhttp.readyState==4 && xmlhttp.status==200){
         alert("你好:"+xmlhttp.responseText);
       }
    }
    xmlhttp.open("post","Default.aspx",true);
    xmlhttp.send("id=gname&name=111");
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>  <input id="Button1" type="button" value="button" onclick="getName()" /></p>
        &nbsp;</div>
    </form>
</body>
</html>

后台代码:

    protected void Page_Load(object sender, EventArgs e)
    {

        if (Request["id"]!=null)
        {

            Response.Write("张三");
            Response.End();
        }
        
    }

执行结果:如下图

下载附件代码 下一次我们看看Jquery是怎么异步请求数据的。
posted @ 2011-12-24 22:08  Xingsoft  阅读(1011)  评论(0编辑  收藏  举报