小菜毛毛技术分享

与大家共同成长

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
   <title>xmlhttprequest ajax demo</title>
    <script type ="text/javascript" language ="javascript" >
        var req; //定义变量,用来创建xmlhttprequest对象
        function creatReq() // 创建xmlhttprequest,ajax开始
        {
            var url="ajaxServer.aspx"; //要请求的服务端地址
            if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
            {
                req=new XMLHttpRequest();
            }
            else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.            {
                req=new ActiveXObject("Microsoft.XMLHttp");
            }
           
            if(req) //成功创建xmlhttprequest
            {
                req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
                req.onreadystatechange = callback; //指定回调函数
                req.send(null); //发送请求
            }
        }
       
        function callback() //回调函数,对服务端的响应处理,监视response状态
        {
            if(req.readystate==4) //请求状态为4表示成功
            {
                if(req.status==200) //http状态200表示OK
                {
                    Dispaly(); //所有状态成功,执行此函数,显示数据
                }
                else //http返回状态失败
                {
                    alert("服务端返回状态" + req.statusText);
                }
            }
            else //请求状态还没有成功,页面等待
            {
                document .getElementById ("myTime").innerHTML ="数据加载中";
            }
        }
       
        function Dispaly() //接受服务端返回的数据,对其进行显示
        {
            document .getElementById ("myTime").innerHTML =req.responseText;
        }
       
    </script>
</head>
<body>
    <div id="myTime"></div>
       
    <input id="Button1" type="button" value="Get Time"  onclick ="creatReq();"/>
</body>
</html>


对于Ajax需要注意执行 的 顺序

对于input 类型为text的 动作有 onChange() onPropertyChange() 后者比前者的反应 更加的敏感,有可能onChange()不会随着里面的改变而改变,但是onPropertyChange()肯定会随着value的值 改变而改变。

对于返回的值,要把结果写在最后的条件都符合的情况下,就是注意函数的位置。

操作xml的时候 用到的方法 和以前操作xml的是一样的,如getElementsByTagName(),还有.firstChild.data,nodeValue.

Ajax执行的顺序是open,onreadystatechange,send 都是基于流的形式传输。

对于servlet里面 注意 都是 用流的形式进行 传输和取值。resp.setContentType(),里面得相应的设置方式。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zuowangxi/archive/2009/12/30/5104036.aspx

posted on 2010-01-28 13:36 小菜毛毛 阅读(724) 评论(0)  编辑  收藏 所属分类: AJAX

只有注册用户登录后才能发表评论。


网站导航: