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