第三周(复习Ajax编程)

方法

abortU                                   取消当前请求

getAllResponseHeaders0        获取响应的所有 HTTP 头信息 

get esponseHeaderO              从响应信息中获取指定的 HTTP头

openO                                    创建新的HTTP请求,并指定请求的方法,URL以及验证信                                          息(如用户名、密码等等)

sendO                                       发送HTTP请求到Web服务器并接受回应

setRequestHeaderO                  单独指定请求的某个 HTTP 头.

//

属性

Onreadystatechange          指定当 readystate 厲性改变时的事件处理句柄(回调函数)

readyState                                 返回当前请求的状态

responseBody                            将回应信息正文以 unsigned byte 数组形式返回

responseStream                        ADO Stream 对象的形式返回啊应信恩

responseText                             将响应信息作为字符串返回

responseXML                            将响应信息格式化为 Xml Document 对象并返回

status                                        返回当前请求的hittp 状态码

status Text                                返回当前请求的响应行状态

HTTP头部信息:

       有两部分组成:请求(Request)和响应(Respone)

      

  1. 请求:

HTTP请求信息由三个部分组成:请求行、信息报头、请求正文(可选)

请求行以一个方法符号开头,以空格分隔、后面跟请求的URI和协议的版本。

格式如下:

Method | Request-URI | Http-Version | CRLF

        Method:表示请求方法,如GET和POST

                       在web上输入一个url,就会向该服务器发送一个get请求

        Request-URI:统一资源标识符

        Http-Version:请求HTTP版本吧

        CRLF:表示回车和换行

        Get方法:可以在url中附带参数待查询,并且告诉服务器应该返回什么样的数据

        POST方法:请求服务器接受附在请求后面的数据,常用于提交表单

      

  1. 响应:

由状态行、消息报头、响应正文组成

定义XMLHttpRequest对象:

       步骤:

  1. 定义XMLHttpRequest实例对象
  2. 调用XMLHttpRequest对象的open方法打开服务器端URL地址
  3. 注册Onreadystatechange事件处理函数,准备接受响应数据,并进行处理
  4. 调用XMLHttpRequest对象的send()方法发送请求

创建对象:

       var Req=new XMLHttpRequest()

使用open()建立XMLHttpRequest连接:

       XmlObj.open(methods, url, async, user, passw)

              Methods: 方式,POST或GET等,大小写不敏感

              url: 请求的URL地址字符串, 可以为绝对地址或相对地址

              async: 异步调用(true)或者同步调用(false),true时onreadystatechange属                        性指定的回调函数会被调用

              user: 可选参数, 用于指定参数名

              passw: 用于验证用户名的密码,用户名为空时忽略

       在建立连接时,先使用open来建立一个http请求,然后使用send()发送通过该请求发送的数据即:XmlObj.open(); XmlObj.send()

同时使用XMLHttpRequest对象的responseStream,responseBody,responseText和responseXML属性可以接受响应数据。

              responseText:获得字符串形式

              responseXML:获得XML形式的响应数据

       发送一个GET请求:

       <script>

                var XMLobj = new XMLHttpRequest()

        function req(url){

            XMLobj.open(“GET”, url, false)

            XMLobj.send();

            Alert(XMLobj.responseText)

        }

       </script>

      

       发送一个POST请求:

       <script>

              var XmlObj=new XMLHttpRequest();

    function Req(url){

        XmlObj.open("POST",url, false);

        XmlObj.setRequestHeader('Content-type','application/x-www-form-urllencoded');

        XmlObj.send("callback=functionName");

        alert(XmlObj.responseText);

    }

       </script>

application/x-www-form-urllencoded为需要post的内容,用来传递表单值,一般必须设置该选项,否则服务器无法识别传递的数据

       setRequestHeader()的方法如下:

       XmlObj.setRequestHeader("header-name","value")

    XmlObj.setRequestHeader("User-Agent","XMLHTTP");

    //一般设置头部信息中的User-AgentXMLHTTP

在GET和POST请求中发送数据使用串行字符

  1. 传输键值对信息
  2. {
  3.     user:"aabb",
  4.     padd:"123145",
  5.     email:"822089447@qq.com"
  6.   }
  7.   //变成串行格式
  8.   user:"aabb" &  padd:"123145" & email:"822089447@qq.com"

2、传输有序数列表

 [

    {name:"text",value:"cc88"},

    {name:"text",value:"12345"}

  ]

  text:"cc88" & text:"12345"

XmlObj.readyState有五个值,分别表示发送请求的五个状态

为0,表示已建立对象,但是没调用open()方法

为1,表示已建立对象,但没用调用send()方法

为2,send()方法已经调用,但HTTP头为止

为3,数据传送中,服务器还没有回调数据

为4,数据接受完毕,可以使用responseText/Body获取响应数据

且在发送请求的状态码改变时,会调用onreadystatechange

使用XmlObj.abort()以终止请求

XML响应数据:
 

responseBody               将响应信息以Unsigned Byte数组形式返回

responseStream           以ADO Stream对象的形式返回响应信息

responseText                将响应信息作为字符串返回

responseXML               将响应信息格式化为XML文档格式返回

获取响应的头部信息:

getAllResponseHeaders():获取响应中所有HTTP头信息

getResponseHeader():从响应信息中获取指定的HTTP头信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值