XMLHttpRequest1级只是把已有的XHR对象的实现细节描述出来。XMLHttpRequest2级进一步发展了XHR。
FormData类型
FormData类型,为序列化表单以及创建以表单格式相同的数据提供了便利。
创建FormData对象,添加一些数据:
var data = new FormData();
// 2个参数:建和值,对应表单字段的名字和字段包含的值
data.append("name", "Anna");
//传输input上传的文件
data.append("myFile", document.getElementById("inputFile").files[0]);

向FormData传入表单元素可以预先向其中填入键值对:
var data = new FormData(document.forms[0]);
//传给XHR的send()方法
xhr.open("post", "test.php", true);
xhr.send(data);
使用FormData不必明确地在XHR对象上设置请求头部。XHR对象能够识别传入的数据类型是FormData的实例,然后配置适当的头部信息。

overrideMimeType()方法
Firefox最早引入overrideMimeType()方法,用于重写XHR响应的MIME类型。
返回响应的MIME类型决定了XHR对象如何处理它。
如,服务器返回的MIME类型是text/plain,但数据中实际包含的是XML。根据MIME类型,即使数据是XML,responseXML属性仍然是null。调用overrideMimeType()方法,可以保证把响应当作XML而非纯文本处理。
var xhr = createXHR();
xhr.open("get", "text.php", true);
xhr.overrideMimeType("text/xml");
xhr.send(null);
支持overrideMimeType()方法的浏览器:Firefox、Safari4+、Opera10.5和Chrome。

Javascript Ajax总结——FormData类型的更多相关文章

  1. ajax补充--------FormData等...

    一.回顾上节知识点 1.什么是json字符串? 轻量级的数据交换格式 2.定时器:关于setTimeout setTimeout(foo,3000)  # 3000表示3秒,foo表示一个函数,3秒后 ...

  2. ajax补充FormData

    一.回顾上节知识点 1.什么是json字符串? 轻量级的数据交换格式 2.定时器:关于setTimeout setTimeout(foo,3000)  # 3000表示3秒,foo表示一个函数,3秒后 ...

  3. 客户端JavaScript Ajax

    创建: 2017/10/21 完成: 2017/10/23   [TODO] 对Ajax收发各类型数据制作模板 补充跨域通信(cross origin) p457  HTTP通信  HTTP  超文本 ...

  4. Django【第21篇】:Ajax之FormData

    ajax补充--------FormData等... 一.回顾上节知识点 1.什么是json字符串? 轻量级的数据交换格式 2.定时器:关于setTimeout setTimeout(foo,3000 ...

  5. 通过jQuery Ajax使用FormData对象上传文件

    FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". 在 Mozilla Developer 网站 使用For ...

  6. JavaScript Ajax之美~

    JavaScript Ajax之美~ 曾经有一段时期,因为开发人员对JavaScript的滥用导致其遭受了一段时间的冷门时期,不被大家看好,后来,到了2005年,Google公司的很多技术都是用了aj ...

  7. ajax (返回类型:text)

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  8. javascript ajax 脚本跨域调用全解析

    javascript ajax 脚本跨域调用全解析 今天终于有点时间研究了一下javsscript ajax 脚本跨域调用的问题,先在网上随便搜了一下找到一些解决的办法,但是都比较复杂.由是转到jqu ...

  9. Ajax通过FormData上传文件

    1.使用<form>表单初始化FormData对象方式上传文件 HTML代码 <form id="uploadForm" enctype="multip ...

  10. 通过jQuery Ajax使用FormData对象上传文件 (转载)

    XMLHttpRequest Level 2 添加了一个新的接口——FormData.与普通的 Ajax 相比,使用 FormData 的最大优点就是我们可以异步上传二进制文件.jQuery 2.0+ ...

随机推荐

  1. tarjan强连通分量

    int scc[N],sc;//结点i所在scc的编号 int sz[N]; //强连通i的大小 //dfn(u)为搜到结点u时的次序编号 //low(u)为u或u的子树能够追溯到的最早的栈中节点的次 ...

  2. Record - Nov. 20th, 2020 - Exam. SOL

    LOC 2020.11.20 - Prob. 1 Desc. & Link. \(C=2^{k}\bmod(a+b+c)\) #include <cstdio> typedef l ...

  3. Python面向对象——property装饰器、继承(与python2不同点)、多继承(优缺点、Mixins)、属性查找、多继承带来的菱形问题

    文章目录 内容回顾 property装饰器 继承 与python2的差别 多继承 为何要用继承 如何实现继承 属性查找 多继承带来的菱形问题 总结: 作业 内容回顾 1.封装=>整合 人的对象. ...

  4. python第2~5章 学习笔记

    # 第2~5章 学习笔记 ## 什么是计算机语言 计算机就是一台用来计算机的机器,人让计算机干什么计算机就得干什么! 需要通过计算机的语言来控制计算机(编程语言)! 计算机语言其实和人类的语言没有本质 ...

  5. 【Unity3D】Cesium加载大地图

    1 前言 ​ Cesium 是一个地球可视化平台和工具链,具有数据切片.数据分发.三维可视等功能. ​ Cesium 支持 JS.Unity.Unreal.O3DE.Omniverse 等平台,框架如 ...

  6. 【matplotlib 实战】--南丁格尔玫瑰图

    南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表. 虽然南丁格尔玫瑰图外观类似饼图,但是表示数据的方式不同,它是以半径来表示数值的,而饼图是以扇形的弧度来表达数据的. 所以,南丁格尔 ...

  7. Java并发编程和多线程的区别

    并发编程: 并发编程是一种编程范式,它关注的是编写能够正确和高效处理多个并发任务的程序.并发编程不仅包括多线程,还包括了处理多个独立任务的各种技术和模式,如进程.协程.分布式编程等.并发编程的目标是实 ...

  8. 【matplotlib 实战】--散点图

    散点图,又名点图.散布图.X-Y图,是将所有的数据以点的形式展现在平面直角坐标系上的统计图表. 散点图常被用于分析变量之间的相关性.如果两个变量的散点看上去都在一条直线附近波动,则称变量之间是线性相关 ...

  9. 使用Blazor构建投资回报计算器

    本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 本博客中创建的投资计算器根据存入金额和回报率计算每个投资周期的特定回报 ...

  10. 手把手教你在项目中引入Excel报表组件

    摘要:本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 GrapeCity Documents for Excel(以下 ...