xmlhttp对象属性和方法_javascript

xmlhttp

/*javascript

 * By:D.n.sky Xml Http
   Xml Http是经过http协议传送或接收XML及其余数据的一套API
   IE中使用ActiveXObject方法建立 Xml Http对象, FireFoxOpera等经过window.XMLHttpRequest来建立 Xml Http
 */
 
 
/*
 *  Xml Http 对象属性 '*' 表示此属性是W3C文档对象模型的扩展
   ------------------------------------------------------
    1.onreadystatechange * -w 指定当readyState属性改变时的事件处理句柄
    2.readyState -r 返回当前请求的状态
           -----------------------------------
           0 未初始化 对象已创建,可是还没有初始化(还没有调用open方法)
           1 初始化 对象已创建,还没有调用send方法
           2 发送数据 send方法已调用,可是当前的状态及http头未知
           3 数据传输中 已接收部分数据,由于响应及http头不全,这时经过responseBody和responseText获取的部分数据会出错
           4 完成 数据接收完毕,此时经过responseBody和responseText获取完整的回应数据
   3.responseBody -r 将回应信息正文以unsigned byte数组的形式返回
   4.responseStreatm -r 以Ado Stream对象的形式返回响应信息
   5.responseText -r 将响应做为字符串返回
     XMLHTTP尝试将响应信息解码为Unicode字符串,XMLHTTP默认将响应数据的编码定为UTF-8,若是服务器返回的数据带BOM(byte-order mark),XMLHTTP能够解码任何UCS-2 (big or little endian)或者UCS-4 数据。
   6.responseXML -r 将响应信息格式化为Xml Document对象并返回
   7.statusText -r 返回当前请求的响应行状态
   8.status -r 返回当前请求的http状态码
           -----------------------------------
           Number  Description 
           --信息-----------------
           100 Continue 服务器仅接收部分请求,可是一旦服务器并无拒绝该请求,客户端应该继续发送其他请求
           101 Switching protocols 服务器转换协议:服务器将遵循从客户的请求转换到另外一种协议
           --成功-----------------
           200 OK 请求成功(其后是对GET和POST请求的应答文档)
           201 Created 请求被建立完成,同时新的资源被建立
           202 Accepted 供处理的请求已被接受,可是处理未完成
           203 Non-Authoritative Information 文档已经正常的返回,可是一些应答头可能不正确,由于使用的是文档的拷贝
           204 No Content     没有新文档。浏览器应该继续显示原来的文档。若是用户按期地刷新页面,而Servlet能够肯定用户文档足够新,这个状态代码是颇有用的
           205 Reset Content 没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容
           206 Partial Content     客户发送了一个带有Range头的GET请求,服务器完成了它
           --重定向------------
           300 Multiple Choices 多重选择。连接列表。用户能够选择某连接到达目的地。最多容许五个地址
           301 Moved Permanently 所请求的页面已经转移至新的url
           302 Found 所请求的页面已经临时转移至新的url
           303 See Other 所请求的页面可在别的url下被找到
           304 Not Modified 未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(通常是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还能够继续使用
           305 Use Proxy 客户请求的文档应该经过Location头所指明的代理服务器提取
           307 Temporary Redirect 被请求的页面已经临时移至新的url
           --客户端错误----------------
           400 Bad Request 服务器未能理解请求
           401 Unauthorized 被请求的页面须要用户名和密码
           402 Payment Required 此代码尚没法使用
           403 Forbidden 对被请求页面的访问被禁止
           404 Not Found 服务器没法找到被请求的页面
           405 Method Not Allowed 请求中指定的方法不被容许
           406 Not Acceptable 服务器生成的响应没法被客户端所接受
           407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理
           408 Request Timeout 请求超出了服务器的等待时间
           409 Conflict 因为冲突,请求没法被完成
           410 Gone 被请求的页面不可用
           411 Length Required "Content-Length" 未被定义。若是无此内容,服务器不会接受请求
           412 Precondition Failed 请求中的前提条件被服务器评估为失败
           413 Request Entity Too Large 因为所请求的实体的太大,服务器不会接受请求
           414 Request-URI Too Long 因为url太长,服务器不会接受请求。当post请求被转换为带有很长的查询信息的get请求时,就会发生这种状况
           415 Unsupported Media Type 因为媒介类型不被支持,服务器不会接受请求
           416 Requested Range Not Suitable 服务器不能知足客户在请求中指定的Range头
           417 Expectation Failed
           --服务器错误---------------
           500 Internal Server Error 请求为完成,服务器遇到不可预知的状况
           501 Not Implemented     请求未完成。服务器不支持所请求的功能。
           502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应
           503 Service Unavailable     请求未完成。服务器临时过载或当机
           504 Gateway Timeout 网关超时
           505 HTTP Version Not Supported     服务器不支持请求中指明的HTTP协议版本
           --------------------------------------------
   ------------------------------------------------------
   方法
   ------------------------------------------------------
   open 建立一个新的http请求,并指定此请求的方法,URL以及验证信息(用户名/密码)
   send 发送请求到http服务器并接受回应
   abort 取消当前请求
   setRequestHeader 单独的指定请求的某个http头
   getAllResponseHeaders 获取响应的全部http头
   getResponseHeader 从响应信息中获取指定的http头
 */
 
/* 方法详细
 * 1.xmlhttp.open(
       Mpyhod, -> http方法,GET,POST,PUT,PROPFIND,不区分大小写
       URL, -> 请求URL的地址,绝对/相对地址
       Async, -> [可选] boolean,指定请求是不是异步方式,默认true,当状态改变时会调用onreadystatechange属性指定的回调函数。
       User, -> [可选] 服务器须要验证用户名
       Password -> [可选] 服务器须要验证的密码
   )
    2.send()
    说明:方法中的同步/异步取决于open的Async
    ---Async--------------------------------—
    false 等待请求完成或者超时才返回
    true 当即返回
    ---数据—----------------------------------
    BSTR 回应呗编码为utf-8,必须在适当的位置设置一个包含charset的文档类型头
    XML DOM Object 则回应将被编码为在xml文档中声明的编码,若是xml中未声明,则使用默认utf-8
    3.getAllResponseHeaders()
    http头名称/值用':'分割,以\r\n结束,当send方法完成后才可调用
    4.getResponseHeader(header) 当send方法完成后才可调用
    5.setRequestHeader(header, value ) 在open方法后调用
    6.abort()
    当前请求返回 UNINITIALIZED 状态
   
 */ php

推荐博文:css

相关文章
相关标签/搜索