js object 对象数据转formdata格式实现


目的是为了方便异步提交form表单的数据,尤其是在单页应用中方便实现表单数据的提交。

 

代码如下:

 

export function jsToFormData(config) { //对象转formdata格式
	let formData = new FormData();
	let obj = config.data;
	let arrayKey = config.arrayKey;
	for (var i in obj) {
		if (isArray(obj[i])) {
			obj[i].map(item => {
				if (!arrayKey) {
					formData.append(i, item)
				} else {
					formData.append(i + '[]', item)
				}
			})
		} else if (obj[i] instanceof FileList) {
			//filelist 文件类型的处理
			for (var fileItem = 0; fileItem < obj[i].length; fileItem++) {
				if (!arrayKey) {
					formData.append(i, obj[i].item(fileItem))
				} else {
					formData.append(i + '[]', obj[i].item(fileItem))
				}
			}
		} else {
			formData.append(i, obj[i])
		}
	}
	return formData;
}

  

 

本代码可以实现的功能是对js数据对象转formdata数据格式,可以做到对数组的数据处理,可以对filelist文件对象的处理。

具体使用,个人可以依据自己的项目情况进行更改或改进。

注意:不兼容ie9及以下的ie


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM