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) } });