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. 【项目源码】JavaWeb网上购书系统

    JavaWeb网上购书系统 介绍 采用JSP.Servlet.MySQL.Tomcat8.0开发的网上购书系统. 软件架构 网上书城主要功能如下: (1) 前台(客户购买)部分: ① 用户管理:注册会 ...

  2. iframe标签下的通信

    通常在页面中嵌套iframe的情况下还需要进行消息传递的通信需求.一般分为两种情况: 1.iframe里的链接与父页面链接是非跨域 这种情况处理比较简单,直接在父级页面下就可以写脚本控制iframe里 ...

  3. k8s证书到期处理

    证书续期提示 当执行kubectl get nodes等提示 Unable to connect to the server: x509: certificate has expired or is ...

  4. mpi转以太网连接300PLC无需编程与1200PLC数据交换

    300PLC转以太网无需编程300PLC通过 NetDevice与1200PLC数据交换 应用概述: 兴达易控MPI转以太网模块MPI-ETH-XD1.0PLUS 通讯模块实现PLC无需编程通过简单的 ...

  5. 小米云原生文件存储平台化实践:支撑 AI 训练、大模型、容器平台多项业务

    小米作为全球知名的科技巨头公司,已经在数百款产品中广泛应用了 AI 技术,这些产品包括手机.电视.智能音箱.儿童手表和翻译机等.这些 AI 应用主要都是通过小米的深度学习训练平台完成的. 在训练平台的 ...

  6. 删除软件 geek

    下载链接 Geek Uninstaller_v1.5.1.162 -技术松鼠 (jishusongshu.com)

  7. idea修改默认maven配置

    idea修改默认maven配置 方法一 (不推荐) 打开project.default.xml文件,在其中加入如下几行配置. 代码如下 保存修改之后新建一个maven项目查看效果 方法二 新增Proj ...

  8. docker容器管理脚本

    #!/bin/bash #auto install docker and Create VM #by jfedu.net 2017 #Define PATH Varablies IPADDR=`ifc ...

  9. Leetcode.11盛最多水的容器(双指针)

    给定一个长度为 n 的整数数组 height .有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) . 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳 ...

  10. JS深入之内存详解,数据结构,存储方式

    理解了本文,就知道深拷贝和浅拷贝的底层,了解赋值的底层原理. 可以结合另一篇文章一起食用:深拷贝与浅拷贝的区别,实现深拷贝的方法介绍. 以下是正文: 栈数据结构 栈的结构就是后进先出(LIFO),如果 ...