zoukankan      html  css  js  c++  java
  • XMLHttpRequest小结

     

    先来看看XMLHttpRequest的属性:

    • readyState
      用数字对应XMLHttpRequest处理Http请求响应的各个过程:
      • 0——未初始化状态:已创建XMLHttpRequest对象,但还未初始化。
      • 1——准备发送状态:已调用了XMLHttpRequest.open()方法,准备调用XMLHttpRequest.send()方法。
      • 2——发送状态:已经通过XMLHttpRequest.send()将请求发送至服务器端,但还未收到响应。
      • 3——正在接收状态:已收到Http响应头部信息,但消息体部分还未接收完。
      • 4——加载完毕状态:响应已被完全接收。
    • responseText
      Http响应的文本内容:当readyState为0、1、2时,responseText为一空字符串;当readyState为3或4时,responseText为已收到的响应文本。
    • responseXML
      Http响应的XML树。当readyState不为4,或者响应的Content-Type指定的MIME类型不是text/xml、application/xml等时,responseXML为null。
    • status
      Http状态代码。例如,404=文件未找到,200=成功等。
    • statusText
      Http状态文本。例如,status为200时对应”OK”。
    • multipart
      一个bool值,ms跟MIME类型multipart/form-data有关,具体还没搞清楚-_-!请教高手……

    再看看XMLHttpRequest的事件。平时主要用到的事件就是onreadystatechange,当readyState属性发生变化的时候会触发。另外还有一些不长用到的事件:onerror、onload、onprogress。

    最后是XMLHttpRequest的方法。常用的是这几个:

    • abort()
      中断XMLHttpRequest请求响应过程,调用后readyState将变为0。
    • open(string method,string uri,boolean async,string username,string password)
      初始化XMLHttpRequest请求响应过程。注意用户名和密码在与需要认证的服务器通信时才会使用到。
    • send(data)
      将请求发送至服务器。使用“GET”方式时data应设为null,或不传参数。
    • setRequestHeader(string header,string value)
      设置请求的头部信息。在调用open()方法后才能调用该方法,否则会出现一个异常。
    • 其他方法还有:getResponseHeader()、getAllResponseHeaders()、getInterface()、overrideMimeType()等。

    另外如果服务器端是asp.net,应将请求发送至一个空的aspx页面,否则响应会包含页面的所有内容。这个问题曾经郁闷我很久- -!

  • 相关阅读:
    Educational Codeforces Round 49 (Rated for Div. 2)
    Codeforces Round #506 (Div. 3)
    multiset
    C++中substr函数的用法
    7.30 背包问题
    7.29 dp动态规划
    7.27 图论 存图 前向星 最短路 dijstra算法 SPFA算法
    7.26 搜索进阶(状压搜索,迭代加深搜索)
    7.23 深搜广搜
    7.24 二分搜索
  • 原文地址:https://www.cnblogs.com/engine1984/p/862952.html
Copyright © 2011-2022 走看看