XMLHttpRequest对象

   * 可以设置HTTP请求的时限。

  * 可以使用FormData对象管理表单数据。

  * 可以上传文件。

  * 可以请求不同域名下的数据(跨域请求)。

  * 可以获取服务器端的二进制数据。

  * 可以获得数据传输的进度信息。

vat xhr = new XMlHttpRequest()

responseType设为blob,表示服务器传回的是二进制对象

如果服务器返回文本数据,这个属性的值是text

responseType设为arraybuffer,把二进制数据装在一个数组里


本地接收响应设置:

xhr.response     接收二进制文件  接收数据的时候,用浏览器自带的Blob对象即可

var blob = new Blob([xhr.response],{type:'image/png'})  以二进制的形式接收

xhr.responseText  接收文本



传送数据的时候,有一个progress事件,用来返回进度信息。

它分成上传和下载两种情况。  

progress 事件在使用 file: 协议的情况下是无效的。

下载的progress事件属于XMLHttpRequest对象,

上传的progress事件属于XMLHttpRequest.upload对象。

在回调中event 有三个进度相关属性

event.total是需要传输的总字节,

event.loaded是已经传输的字节。

event.lengthComputable不为真(是否有文件传输),则event.total等于0

使用Math.round(100* e.loaded/ e.total) + \'%\';计算进度信息

对于任何具体请求,浏览器将只会触发load、abort、timeout和error事件中的一个,还有progress事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值