XMLHttpRequest学习笔记

简介

XMLHttpRequest是一个浏览器接口,这个对象提供了对HTTP协议的完全访问,包括做出POST请求与HEAD请求以及普通GET请求的能力,使得JavaScript可以进行HTTP通信。

新版本的XMLHttpRequest对象:

  • 可以设置HTTP请求的响应时间。
  • 可以使用FormData对象管理表单数据。
  • 可以上传文件。
  • 可以跨域请求(不同域名下的数据)。
  • 可以获取服务器端的二进制数据。
  • 可以获得数据传输的进制信息。

属性

xhr.readyState

表示http的请求状态,当xhr初次创建时属性值是0,直到接收到完整的HTTP响应,值就增加到4

  • 0 初始化状态:xhr对象已创建或已被abort()方法重置
  • 1 open:open()方法已调用,但send() 未调用,请求还没发送
  • 2 sent :send()已调用,HTTP请求发送到服务器,但还没有接收到响应
  • 3 receiving:响应头都已经接收到,响应体开始接收但还未完成
  • 4 loaded:HTTP响应已经完全接收。

xhr.resposeText

目前位置服务器接收到的响应体,不包括头部,如果还没接收到数据,就是一个空字符串

如果readyState值<3,该属性就是一个空字符串
如果=3,返回已经接收到的响应部分
如果readyState值=4,返回完整的响应体

xhr.responseXML

将请求的响应解析为XML,作为Document对象返回

xhr.status

HTTP状态码

200:成功
404:错误
注意在readyState<3时读取这个属性会有异常。和statusText类似。

方法

onreadystatechange()

每次 readyState 属性改变的时候调用的事件句柄函数。当 readyState 为 3 时,它也可能调用多次。

abort()

取消当前响应。当太久未响应时可以调用这个方法。将readyState置0。

open()

初始化HTTP请求参数,但部发送请求。

send()

发送HTTP请求,使用open()中的参数。

补充

设置HTTP请求时限

xhr.timeout=5000;  // 设置超时时间(5秒)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值