memung

Ajax

2008年10月15日
9:36:12

创建新的XMLHttpRequest对象:
    <script language="javascript" type="text/javascript">
    var request = new XMLHttpRequest();
    </script>
    javaScript 不要求指定变量类型

创建 XMLHttpRequest 的 Java 伪代码:
    XMLHttpRequest request = new XMLHttpRequest();
    JavaScript 中用 var 创建一个变量,给它一个名字(如 “request”),然后赋给它一个新的 XMLHttpRequest 实例。此后就可以在函数中使用该对象了。

发送请求:
    1.设置服务器URL:var url = "/myservlet/ajax/2.jsp";
      如果需要增加另一个参数,只需要将其附加到 URL 中并用 “与”(&)字符分开 [第一个参数用问号(?)和脚本名分开]。?"phone=" + escape(phone)
    2.打开请求: request.open("GET",url,true);
      五个参数:request-type;url;asynch;username;password;
    3.发送请求: request.send(null);
      一个参数:要发送的内容。前面url本身已经发送过数据了,不需要再用send发送了,如果要是发送安全信息或xml则需要指定
    4.指定回调方法: request.onreadystatechange = updatePage;
      注意:onreadystatechange允许指定一个回调函数。在代码中设置的位置要在send之前,这样服务器在回答完成请求之后才能查看该属性。
处理响应:
      function updatePage(){
          alert("Serve is done");
      }

就绪状态:
    request.readyState     当等于4的时候调用回调函数。
                             另外:其他的几种状态是:
  • 0:请求未初始化(还没有调用 open())。
  • 1:请求已经建立,但是还没有发送(还没有调用 send())。
  • 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
  • 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
  • 4:响应已完成;您可以获取并使用服务器的响应了。
    获取0就绪状态:
    <input type="button" onclick="getData()" value="click"/>
    <script type="text/javascript">
        function getData(){
            var request = new XMLHttpRequest();
            alert("Ready state is:"+request.readyState);
        }
    </script>

    查看处理请求的就绪状态:
    <input type="button" onclick="getData()" value="click"/>
    <script type="text/javascript">
        var request;
        function getData(){
            request = new XMLHttpRequest();
            alert("Ready state is:"+request.readyState);
            var url = "/myservlet/ajax/2.jsp";
            request.open("GET",url,true);
            request.onreadystatechange=updatePage;
            request.send(null);
        }
        function updatePage(){
            alert("updatePage() called with ready sate of"+request.readyState);
        }
    </script>

响应数据:
    var new = request.responseText;  
    responseText属性



posted on 2008-10-15 14:23 异次元 阅读(67) 评论(0)  编辑  收藏


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


网站导航: