• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
向阳花7
博客园    首页    新随笔    联系   管理    订阅  订阅
Javascript Ajax总结——FormData类型
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。
posted on 2019-07-01 20:41  向阳花7  阅读(572)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3