• 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页面,否则响应会包含页面的所有内容。这个问题曾经郁闷我很久- -!

  • 相关阅读:
    数据库事务的4种隔离级别
    线程竞争与同步
    flex 1与flex auto
    React环境搭建
    vue与mapbox
    前端-URL到页面显示的全过程
    监听滚动事件
    点击上下箭头,页码发生改变
    鼠标滑过元素,div显示,并根据scrollTop向下移动
    KB/MB/GB。。单位换算
  • 原文地址:https://www.cnblogs.com/engine1984/p/862952.html
Copyright © 2020-2023  润新知