普歌-飞灵团队-Ajax基础中FormData对象

本文详细介绍了如何使用FormData对象处理HTML表单数据,包括将其转化为对象、提交表单、获取和设置表单属性值,以及如何上传二进制文件。同时,展示了如何在文件上传过程中展示进度,并提供了关键方法如get、set、append和delete的用法说明。通过FormData,可以更方便地在Ajax请求中处理表单数据。
摘要由CSDN通过智能技术生成

一.FormData对象的使用

1.准备HTML表单

<form id="form">
   <input type="text" name="username">
   <input type="password" name="password">
   <input type="button">
</form>

2.将HTML表单转化为formData对象

var form = focument.getElementById('form');
var formData = new FormData(form);

3.提交表单对象

xhr.send(formData);

二.FormData对象的实例方法

1.获取表单中属性的值

formData.get('key');

2.设置表单对象中属性的值

formData.set('key','value');

3.删除表单对象中属性的值

formData.delete('key');

4.向表单对象中追加属性值

formData.append('key','value');

注意:set方法与append方法的区别是,在属性名已经存在的情况下,set会覆盖已有键名的值,append会保留两个值

三.FormData二进制文件上传

<input type="file" id="file"/>
var file = document.getElementById('file');
//当用户选择文件的时候
file.onchange = function () {
   //创建空表单对象
   var formData = new FormData();
   //将用户选择的二进制文件追加到表单对象中
   formData.append('attrName',this.files[0]);
   //配置ajax对象,请求方式必须为post
   xhr.open('post','www.example.com');
   xhr.send(formData);
}

三.FormData文件上传进度展示

//当用户选择文件的时候
file.onchange = function () {
   //文件上传过程中持续触发onprogress事件
   shr.upload.onprogress = function (ev) {
      //当前上传文件大小/文件总大小 再将结果转换为百分数
      //将结果赋值给进度条的宽度属性
      bar.style.width = (ev.loaded / ev.total) * 100 + '%';
   }
}

———————————————————————————————————————
作者:wx_mz
出处/源自:wx_mz的《普歌-飞灵团队-Ajax基础中FormData对象》

本文版权归作者和CSDN共有,欢迎转载,且在文章页面明显位置给出原文链接,未经作者同意必须保留此段声明,否则保留追究法律责任的权利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值