zoukankan      html  css  js  c++  java
  • XMLHttpRequest基础

    1>运行周期
    Ajax程序通过Javascript 时间触发,运行时调用XMLHttpRequest对象来发送请求和处理请求响应.客户端处理完响应后,XMLHttpRequest
    对象会一直处于等待状态,知道接受下一次请求调用.
    客户端->服务器 模式:
    Ajax 中间层
    客户端->获取请求->初始化->发送请求->服务器处理->返回数据
    <----------------处理响应<----------------获取响应<-----------

    2>Ajax实现的基本步骤
    (1) 初始化xmlhttpRequest对象
    (2) 指定响应处理函数 ( 只要将相应的处理函数名称赋给XMLHttpRequest对象的onreadystatechange=函数名 )
    (3) 发出HTTP请求 调用open() 和 send() 注意先后顺序
    (4) 处理服务器返回的信息
    if(http_request.readyState==4)
    {
    if(http_request.status==200)//页面正常
    }
    else
    {
    }

    3>XMLHttpRequest对象的属性
    (1) onreadystatechange属性 每次状态改变都会触发这个事件处理器 ;
    (2) readyState属性 用来表示请求的状态
    0----表示未初始化 , 此时对象已建立 , 但是未初始化(没有调用open()方法)
    1----表示正在加载 , 此时对象已建立 , 但是未调用send()
    2----表示已经加载 , send()已调用 , 但是当前的状态以及http头未知
    3----表示交互中 , 接收了部分数据 , 此时不能获取数据 因为响应和报文头不全
    4----表示完成
    (3) responseBody 当readtState=4时 可以通过此属性获取接收的数据(二进制字节流) byte[] strValue=http_request.responseBody
    (4) responseStream 以Ado Stream 对象的形式返回响应 object strValue=xxxx.~
    (5) responseText 字符串返回
    (6) responseXML XML返回
    (7) status
    100~101 客户端接收到常规响应之前 100表示继续:初始请求已经接收客户端应当继续发送请求的其余部分
    200~206 服务器成功接收请求 200一切正常
    300~307 客户端必须采取更多操作来实现请求 300表示多选择:客户端请求的文档在多个位置找到
    400~423 发生错误 404
    500~505 服务器错误 505HTTP版本不支持

    4>XMLHttpRequest对象的方法
    open() 创建一个新的http请求
    send() 发送请求到http服务器并接收回应
    setRequestHeader() 单独指定请求的某个http头
    getAllResponseHeaders(); 获取响应中所有的http头
    getResponseHeader() 从响应信息中获取指定的http头
    abort() 取消当前请求

  • 相关阅读:
    7.21 高博教育 数组 内存
    【基础扎实】Python操作Excel三模块
    PAT 甲级 1012 The Best Rank
    PAT 甲级 1011  World Cup Betting
    PAT 甲级 1010 Radix
    链式线性表——实验及提升训练
    循环程序设计能力自测
    链表应用能力自测
    PAT 甲级 1009 Product of Polynomials
    1008 Elevator (20分)
  • 原文地址:https://www.cnblogs.com/keiling/p/3090820.html
Copyright © 2011-2022 走看看