我的学习园地

昨夜西风凋碧树,独上高楼,望尽天涯路。

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  14 随笔 :: 0 文章 :: 36 评论 :: 0 Trackbacks
  1、方法和属性
  • open():建立到服务器的新请求。
  • send():向服务器发送请求。
  • abort():退出当前请求。
  • readyState:提供当前 HTML 的就绪状态。
  • responseText:服务器返回的请求响应文本。

  •   2、创建

    var request = false;
    try {
            request 
    = new XMLHttpRequest();
        }
    catch (trymicrosoft) {
        
    try{
            request 
    = new ActiveXObject("Msxml2.XMLHTTP");
        }
    catch (othermicrosoft) {
            
    try {
                request 
    = new ActiveXObject("Microsoft.XMLHTTP");
            }
    catch(failed){
                request 
    = false;
            }  
        }
    }
    if (!request)
        alert(
    "Error initializing XMLHttpRequest!");

     


      3、请求
      有了要连接的 URL 后就可以配置请求了。可以用 XMLHttpRequest 对象的 open() 方法来完成。该方法有五个参数:

    • request-type:发送请求的类型。典型的值是 GETPOST,但也可以发送 HEAD 请求。
    • url:要连接的 URL。
    • asynch:如果希望使用异步连接则为 true,否则为 false。该参数是可选的,默认为 true。
    • username:如果需要身份验证,则可以在此指定用户名。该可选参数没有默认值。
    • password:如果需要身份验证,则可以在此指定口令。该可选参数没有默认值。

      通常使用其中的前三个参数。事实上,即使需要异步连接,也应该指定第三个参数为 “true”。这是默认值,但坚持明确指定请求是异步的还是同步的更容易理解

    request.open("GET", url, true);
    //打开url
    request.onreadystatechange = updatePage;
    //设置响应函数/回调函数
    request.send(null);
    //发送数据 

     

      一个不常用的函数:request.setRequestHeader从字面上解释是更改HTTP请求。
     
      4、处理
      HTTP 就绪状态:在设置的回调函数中检测Ajax对性readyState属性的值可得HTTP的就绪状态

  • 0:请求没有发出(在调用 open() 之前)。
  • 1:请求已经建立但还没有发出(调用 send() 之前)。
  • 2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
  • 3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
  • 4:响应已完成,可以访问服务器响应并使用它。
  •   request.status:返回的HTTP状态码。request.responseText:服务器返回的数据

    function updatePage() {
        
    if (request.readyState == 4{
            
    if (request.status == 200{
                alert(request.responseText);
            }
     else if (request.status == 404{
                alert (
    "Requested URL is not found.");
            }
     else if (request.status == 403{
                alert(
    "Access denied.");
            }
     else
                alert(
    "status is " + request.status);
        }

    }
    posted on 2008-03-03 09:54 冷夜月 阅读(531) 评论(3)  编辑 收藏 引用 所属分类: 网络

    评论

    # re: Ajax的简单使用方法 2012-04-06 20:32 随时随地多层次
    草草草草草草草草草草草草草草草草草草  回复  更多评论
      

    # re: Ajax的简单使用方法 2012-04-06 20:34 随时随地多层次
    哦 看错了 我还以为这个是你做的一个东西呢 不好意思啊 受教了  回复  更多评论
      

    # re: Ajax的简单使用方法 2012-11-01 11:24 冷夜月
    @随时随地多层次
    汗。。莫激动  回复  更多评论
      

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