美文网首页
XMLHttpRequest对象 --笔记

XMLHttpRequest对象 --笔记

作者: 扭了个妞 | 来源:发表于2016-11-28 15:59 被阅读0次

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

它分成上传和下载两种:

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

我们先定义progress事件的回调函数。
xhr.onprogress = updateProgress;xhr.upload.onprogress = updateProgress;
然后,在回调函数里面,使用这个事件的一些属性。

function updateProgress(event) { 
    if(event.lengthComputable) {
         var percentComplete = event.loaded / event.total; 
    }
}

上面的代码中,event.total是需要传输的总字节,event.loaded是已经传输的字节。如果event.lengthComputable不为真,则event.total等于0。

与progress事件相关的,还有其他五个事件,可以分别指定回调函数: \

  • load事件:传输成功完成。
  • abort事件:传输被用户取消。
  • error事件:传输中出现错误。
  • loadstart事件:传输开始。
  • loadEnd事件:传输结束,但是不知道成功还是失败。

XMLHttpRequest一开始只是微软浏览器提供的一个接口,后来各大浏览器纷纷效仿也提供了这个接口,再后来W3C对它进行了标准化,提出了XMLHttpRequest标准。XMLHttpRequest标准又分为Level 1和Level 2。
XMLHttpRequest Level 1主要存在以下缺点:

  • 受同源策略的限制,不能发送跨域请求;
  • 不能发送二进制文件(如图片、视频、音频等),只能发送纯文本数据;
  • 在发送和获取数据的过程中,无法实时获取进度信息,只能判断是否完成;

那么Level 2对Level 1 进行了改进,XMLHttpRequest Level 2中新增了以下功能:

  • 可以发送跨域请求,在服务端允许的情况下;
  • 支持发送和接收二进制数据;
  • 新增formData对象,支持发送表单数据;
  • 发送和获取数据时,可以获取进度信息;
  • 可以设置请求的超时时间;

相关文章

  • XMLHttpRequest对象 --笔记

    XMLHttpRequest对象,传送数据的时候,有一个progress事件,用来返回进度信息。 它分成上传和下载...

  • 原生ajax

    XMLHttpRequest 对象   XMLHttpRequest对象是ajax的基础,XMLHttpRequ...

  • XMLHttpRequest对象

    1.取色网站:http://www.colorzilla.com/gradient-editor/ XMLHttp...

  • XMLHttpRequest对象

    XMLHttpRequest对象的创建var xhr=null;if(window.XMLHttpRequest)...

  • XMLHttpRequest对象

    可以称之为 XHR ,在使用这个对象之前,首先要实例化一个XHR对象。 var request;if(window...

  • XMLHttpRequest对象

    XMLHttpRequest对象 更新于 2016.04.10 XHR的用法 open方法 第一个调用的方法是op...

  • XMLHttpRequest 对象

    简介 AJAX是Asynchronous JavaScript and XML的缩写,指的是通过JavaScrip...

  • XMLHttpRequest对象

    一、创建XMLHttpRequest 二、XHR的使用 open() onreadystatechange ()创...

  • Ajax基础

    Http请求 XMLHttpRequest对象 1)、request = new XMLHttpRequest()...

  • AJAX应用的五个步骤

    1.建立xmlHttpRequest对象 if(window.XMLHttpRequest) { xmlHttp ...

网友评论

      本文标题:XMLHttpRequest对象 --笔记

      本文链接:https://www.haomeiwen.com/subject/rkuopttx.html