FormData 对象 程序员文章站 2022-03-21 13:22:00 FormData 对象的作用模拟HTML表单,相当于将HTML表单映射成表单对象,自动将表单对象中的数据拼接成请求参数的格式异步上传二进制文件formData 对象的使用1、准备 HTML 表单 FormData 对象的作用 模拟HTML表单,相当于将HTML表单映射成表单对象,自动将表单对象中的数据拼接成请求参数的格式 异步上传二进制文件 formData 对象的使用 1、准备 HTML 表单 <form id ="form"> <input type = "text" name ="username" /> <input type = "password" name ="username" /> <input type = "button" id= "btn" /> </form> var form = document.getElementById("form") var btn = document.getElementById("btn") btn.onclick = function(){ // 讲普通的 HTML 表单转坏为 表单对象 var formData = new FormData (form); // 创建ajax 对象 var xhr = new XMLHttpRequest(); // 对ajax对象进行配置 xhr.open("post"," 地址") xhr.send(formData ) // 监听 xhr 对象 下面 的 onlod 事件 xhr,onload = function () { // 对象http 状态码 进行判断 if (xhr.status == 200 ) { } } } 实例方法 formData 对象的实例方法 操作的是name的值注意: set 方法和 append 方法的区别是 在属性已经存在的情况 下 set 会覆盖已有的值 append 会保留两个值 1、获取表单对象中的值 formData.get("key") 2、设置表单对象中的属性值 formData.set("key" ,“value”) 3、删除表单表单对象属性的值 formData.delete("key") 4、向表单对象中追加属性的值 formData.append("key","value") FormData 二进制文件上传 <input type ="file" id ="file"/> var file = document.getElmentByid('file') // 当用户选择文件的时候 file.onchang = function () { // 将用户选择的二进制文件追加到表单对象中 formData.append("attrName",this.files[0]); // 配置 ajax对象 请求方式必须为 post xhr.open("post","www.example.com"); } formData 文件上传进度展示 // 当用户选择文件的时候 file.onchange = function () { // 文件上传过程中持续触发 onprogress事件 xhr.upload.onprogress = function (ev) { // 当前上传文件大小/文件总大小 再将结果转换为百分数 // 将结果赋值给进度条的宽度属性 bar。style.width = (ev.loaded / ev.total) * 100 + "%" } } FormData 文件上传图片即时预览 在我们将图片上传到服务端以后 服务端通常会将图片地址作为响应数据传递到客户端,客户端可以从相应数据中获取图片地址,然后将图片再展示在页面中 本文地址:https://blog.csdn.net/qq_38686150/article/details/107899970 相关标签: javascript 上一篇: 白居易的性格为什么会有那么大的变化?与他的人生经历有何关系? 下一篇: 在魏国大展拳脚的吴起,最终逃向楚国,这是为何? 推荐阅读 Android中实现长按修改ListView对象的内容 PHP序列化/对象注入漏洞分析 详解在Java程序中运用Redis缓存对象的方法 spring中通过ApplicationContext getBean获取注入对象的方法实例 c#泛型序列化对象为字节数组的示例 npoi2.0将datatable对象转换为excel2007示例 Java面向对象之成员隐藏与属性封装操作示例 C#使用dynamic类型访问JObject对象 PHP实现的数据对象映射模式详解 PHP实现数组和对象的相互转换操作示例