博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
new FormData() - FormData对象的作用及用法
阅读量:6157 次
发布时间:2019-06-21

本文共 1702 字,大约阅读时间需要 5 分钟。

一、概述

FormData 对象的使用:1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成一个queryString2. 异步上传二进制文件。

二、使用

1.FormData对象的操作方法,全部在原型中,自己本身没任何的属性及方法。

FormData对象的操作方法

let formData = new FormData()formData.append('user', 'zhang')获取 formData.get('user')  //zhang删除 formData.delete('user').....

2.使用FormData对象发送文件

HTML部分
JS部分var btn = document.querySelector('[type=button]');btn.onclick = function () { // 文件元素 var file = document.querySelector('[type=file]'); // 通过FormData将文件转成二进制数据 var formData = new FormData(); // 将文件转二进制 *****注意2****** formData.append('upload', file.files[0]); *****注意1****** var xhr = new XMLHttpRequest; xhr.open('post', 'file.php'); // 监听上传进度 xhr.upload.onprogress = function (ev) { // 事件对象 // console.log(ev); var percent = (ev.loaded / ev.total) * 100 + '%'; console.log(percent); progress.style.width = percent; } xhr.send(formData); xhr.onreadystatechange = function () { if(xhr.readyState == 4 && xhr.status == 200) { // } }}

注意1:使用jQuery

$.ajax({    url: 'file.php',    type: 'POST',    data: formdata,                    // 上传formdata封装的数据    dataType: 'JSON',    cache: false,                      // 不缓存    processData: false,                // jQuery不要去处理发送的数据    contentType: false,                // jQuery不要去设置Content-Type请求头    success:function (data) {           //成功回调        console.log(data);    }});

注意2:参数

new FormData的参数是一个DOM对象,而非jQuery对象

var formData = new FormData($("#file")[0]);

三、jQuery的参数序列化方法serialize()

序列表表格内容为字符串,用于 Ajax 请求。

$("form").serialize()

转载地址:http://dssfa.baihongyu.com/

你可能感兴趣的文章
/usr/bin/ld: cannot find -lfontconfig解决方法
查看>>
徐汉彬:Web系统大规模并发——电商秒杀与抢购
查看>>
如何优化limit
查看>>
C程序的内存分配
查看>>
Struts2笔记——struts常用标签
查看>>
linux -cpu
查看>>
cocoa pods Installation
查看>>
使用mysql备份工具innobackupex进行本地数据备份、恢复操作实例
查看>>
我的友情链接
查看>>
pycharm不支持svn,是需要svn命令行工具没有安装(for windows)
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
感恩被救赎——爱是恒久忍耐
查看>>
科技巨头开发人工智能 稀缺品种或成A股香饽饽
查看>>
1702 素数判定 2
查看>>
eva0.4.1源码看看5
查看>>
oracle 德部分操作笔记(自己用的)
查看>>
Linux第十四周
查看>>
结对项目 - 词频统计
查看>>
为什么map对象不能使用stl中的sort函数
查看>>