js上传文件到后台时序列化数据

时间:2019-06-18
本文章向大家介绍js上传文件到后台时序列化数据,主要包括js上传文件到后台时序列化数据使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

let fd = new FormData() // 定义传递的序列化对象,
for (let i = 0; i < addArr.length; i++) { // addArr是选中文件的输入框中的e.target.files
fd.append(addArr[i].name + "", addArr[i]) //通过append()将键名和值放进去
}
此时将上传的文件序列化后,如果还有其他需要上传的参数params
const params = {
company: $('.save-submit-data').eq(0).val(),
actual_initiator: $.trim($('.cascade-select-value').eq(0).text()),
person: $('.save-submit-data').eq(1).val(),
phone: $('.save-submit-data').eq(2).val(),
lend_date: $('.save-submit-data').eq(3).val(),
deadline: $('.save-submit-data').eq(4).val(),
amount: $('.save-submit-data').eq(5).val(),
estimation: $('.aboutGoods').eq(0).val(),
consignee: $('.getGoodsPerson').eq(0).val(),
consignee_phone: $('.getPersonName').eq(0).val(),
delivery_address: $('.getGoodsAddress').eq(0).val(),
images: JSON.stringify(purePicSave),
details: JSON.stringify(detail) // 数组必需使用JSON.stringfy转换为字符串
}

for (key in params) {
fd.append(key + "", params[key]) // 中间的双引号必填,因为这样才能正确序列化其他的参数传递给后台
}



$.ajax({ type:
'POST', url: "{:url('examine_approve/lend')}", // 路径 data: fd, // 序列化对象 dataType: 'json', // 定义后台返回的数据类型 processData: false, // 必需 contentType: false, // 必需 success: function (res) { if (res.code == 200) { dialog.message(res.msg) setTimeout(function () { window.location.reload() }, 1500) } else { dialog.message(res.msg, false) $('.save-data').css('background', '#1E9FFF') $('.save-data').attr('disabled', false) } }, error: function (err) { console.log(err) $('.save-data').css('background', '#1E9FFF') $('.save-data').attr('disabled', false) } });

原文地址:https://www.cnblogs.com/cazj/p/11045170.html