###1. XMLHttpRquest 2级

  1)   FormData

    现代web应用中频繁使用的一项功能就死表单数据的序列化, XMLHttpRquest 2级为此定义了FormData类型

    FormData为序列化表单以及创建于表单格式相同数据(用于通过XHR传输)提供了便利

      eg:  var data = new FormData();

           data.append("name","Tom")      //   append(键  ,  值)

    在post请求表单提交数据时,可直接使用该方法对表单数据进行处理

    eg:     var form = document.getElementById("user-info")      //  id为user-info的form表单

         xhr.send(new FormData(form))

  2)  超时设定 timeout属性,表示请求在等待响应多少毫秒之后就终止,触发该事件后会调用ontimeout事件处理程序

    eg:   xhr.timeout =  1000;        //   将超时设置为1s

       xhr.ontimeout = function(){

         alert("Request did not return in a second");     //  输出“请求没有立即返回”

       }

  3) overrideMimeType()  用于重写XHR响应的MIME类型

  4)进度事件

    6中进度事件

      loadstart:   在接受到相应数据的第一个字节是触发

      progress:   在接受响应期间持续不断触发

      error:   在请求发生错误时

      abort:   调用abort()  触发

      load:    在接收到完整的响应数据是触发

      loadend:   在通信完成或触发error·abort或load事件后触发

    4.1)  load事件

      用以替代readystatechange事件,响应接受完毕后将触发load事件,因此也没有必要去检查readyState属性。

      而onload事件处理程序会接收到一个event对象,其target属性就指向xhr对象实例,可以访问到XHR对象的所有方法和属性

    4.2)progress事件

      会接收到一个event对象,其target属性是XHR对象,但包含着三个额外的属性

        lengthComputable   表示进度信息是否可用的布尔值

        position  表示已经接受的字节数

        totalSize  表示根据Content-Length 响应头部确认的预期字节数

      可以根据这些信息为用户创建一个进度指示器       为确保正常执行,必须在调用open方法之前添加该事件处理程序

      eg:

         xhr.onprogress = function(event){

            var obj = document.getElementById("xxx");

            if(event.lengthComputable){

              obj.innerHTML = "Received" + event.position + "of" + event.totalSize + "bytes"    // 收到了xxx字节中的xxx个

            }

          }

js-XMLHttpRequest 2级的更多相关文章

  1. 6个函数的output看JS的块级作用域

    1. var output = 0; (function() { output++; }()); console.log(output); 函数对全局的output进行操作,因为JS没有块级作用域,所 ...

  2. js有块级作用域么?

    //js私有作用域,js没有块级作用域 function Box(){ for(var i=0;i<5;i++){} console.log(i);//5,如果js有块级作用域,那么i在for循 ...

  3. js模仿块级作用域(js没有块级作用域私有作用域)

    js模仿块级作用域(js没有块级作用域私有作用域) 一.总结 1.js没有块级作用域:在for循环中定义的i,出了for循环还是有这个i变量 2.js可以模拟块级作用域:用立即执行的匿名函数:(匿名函 ...

  4. 【分享】纯js的n级联动列表框 —— 基于jQuery,支持下拉列表框和列表框,最重要的是n级,当然还有更重要的

    多个列表框联动,不算是啥大问题,但是却挺麻烦,那么怎么才能够尽量方便一点呢?网上搜了一下,没发现太好用的,于是就自己写了一个.基于jQuery,无限级联动,支持下拉列表框和列表框. 先说一下步骤和使用 ...

  5. JS的块级作用域

    今天带来的是 "对<你不知道的js>中块级作用域的总结" 分享: 1)用with从对象中创建出来的作用域只在with声明中而非外部作用域有效,同时可以访问已有对象的属性 ...

  6. JS 模仿块级作用域

    function outputNumbers(count) { for (var i=0; i<count; i++) { console.log(i); } var i;  // 重新声明变量 ...

  7. 纯js的N级联动列表框 —— 基于jQuery

    多个列表框联动,不算是啥大问题,但是却挺麻烦,那么怎么才能够尽量方便一点呢?网上搜了一下,没发现太好用的,于是就自己写了一个.基于jQuery,无限级联动,支持下拉列表框和列表框. 先说一下步骤和使用 ...

  8. JS XMLHttpRequest.upload.addEventListener 传参,回调

    JS 回调函数,传参的办法. function uploadFile(t) { var fd = new FormData(); fd.append("_netLogo", doc ...

  9. JS XMLHttpRequest请求

    前言 我们知道jq的请求非常简短好用,但是其实js原生的请求也不差,并且不用插件更能说明自己本身的技术已经很强了,别人看自己代码一脸懵逼的时候,这时就可以一一解释这些代码的用处,更能让别人敬佩! JS ...

  10. JS获取节点的兄弟,父级,子级元素的方法(js获取子级获取到换行与空格元素-FF)

    先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 < ...

随机推荐

  1. 设计模式のAdapterPattern(适配器模式)----结构模式

    一.产生背景 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能.举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器.您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本 ...

  2. redis的过期时间和过期删除机制

    一:设置过期时间 redis有四种命令可以用于设置键的生存时间和过期时间: EXPIRE <KEY> <TTL> : 将键的生存时间设为 ttl 秒 PEXPIRE <K ...

  3. [matlab] 20.图与网络 matlab自带函数使用

    matlab自带的biography(产生一个句柄) 可以用于画图 R=[1 1 2 4 1 2 3 3 5 7 3 4 5 6 7 8]; % 起始节点编号 C=[2 3 3 3 4 5 5 6 6 ...

  4. ELMO模型(Deep contextualized word representation)

    1 概述 word embedding 是现在自然语言处理中最常用的 word representation 的方法,常用的word embedding 是word2vec的方法,然而word2vec ...

  5. [SHOI2015]超能粒子炮·改

    嘟嘟嘟 先看了一遍lucas,还是只能拿50分(似乎已经满足了). 正解当然还是看某个大佬的啦. 我们要求的就是 \[f(n, k) = \sum _ {i = 0} ^ {k} C _ {n} ^ ...

  6. ssm框架的整合搭建(二)

    maven简单项目的创建前面已经完成了,下面开始依赖包和配置文件的编写 好好努力每一天!!!!!! 项目结构看这里 1.首先,依赖包pom.xml <project xmlns="ht ...

  7. Linux:Day2 发行版本、命令获取

    Linux的哲学思想: 1.一切皆文件:把几乎所有资源,包括硬件设备都组织为文件格式: 2.由众多单一目的的小程序组成,一个程序只实现一个功能,而且要做好: 组合小程序完成复杂任务: 3.尽量避免跟用 ...

  8. 1、原生jdbc连接oracle数据库简单介绍

    一.jbdc的常用API1.Connection:数据库的链接对象2.statement:数据库sql执行对象3.preparedStatment:sql的预编译处理对象,是statement子接口4 ...

  9. Feature Extractor[VGG]

    0. 背景 Karen Simonyan等人在2014年参加Imagenet挑战赛的时候提出的深度卷积神经网络.作者通过对2013年的ILSVRC中最好的深度神经网络模型(他们最初的对应模型都是ale ...

  10. logistic回归和最大熵

    回顾发现,李航的<统计学习方法>有些章节还没看完,为了记录,特意再水一文. 0 - logistic分布 如<统计学习方法>书上,设X是连续随机变量,X服从logistic分布 ...