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

js上传文件到后台时序列化数据的更多相关文章

  1. 通过form表单上传文件获取后台传来的数据

    小伙伴是不是遇到过这样的问题,通过submit提交form表单的时候,不知怎么获取后台传来的返回值.有的小伙伴就会说你不会发送ajax,其实也会.假如提交的form表单中含有文件,怎么办? 步骤1:想 ...

  2. 使用ajaxfileupload.js上传文件

    一直以来上传文件都是使用form表单上传文件,也看到过有人使用js上传文件,不过看起来蛮简单的也就没有怎么去理会.今天突然要使用这种方式上传文件,期间还遇到点问题.因此就记录下来,方便以后遇到这样的问 ...

  3. js上传文件

    一.原始的XMLHttpRequestjs上传文件过程(參考地址:http://blog.sina.com.cn/s/blog_5d64f7e3010127ns.html) 用到两个对象 第一个对象: ...

  4. 纯js上传文件 很好用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. 记录一次node中台转发表单上传文件到后台过程

    首发掘金 记录一次node中台转发表单上传文件到后台过程 本篇跟掘金为同一个作者leung   公司几个项目都是三层架构模式即前台,中台(中间层),后台.前台微信端公众号使用vue框架,后台管理前端使 ...

  6. js 上传文件后缀名的判断 var flag=false;应用

    js 上传文件后缀名的判断  var flag=false;应用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...

  7. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

    ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...

  8. atitit.javascript js 上传文件的本地预览

    atitit.javascript js 上传文件的本地预览 1. .URL.createObjectURL  1 1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以 ...

  9. 解决上传文件或图片时选择相同文件无法触发change事件的问题

    昨天在做一个上传文件的模块时遇到了这样的问题:打开文件一上传,上传成功后再次点击文件一,change事件无反应 <input type="file" name="f ...

随机推荐

  1. 一文读懂实用拜占庭容错(PBFT)算法

        在区块链中有一个著名的问题,就是拜占庭将军问题,对于拜占庭将军问题,网上的文章已经多得不要不要了,今天和大家分享的是其相关的实用拜占庭容错算法,一起来看看吧. 实用拜占庭容错算法(Practi ...

  2. 【shell】常用的正则表达式

    一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9 ...

  3. 改善程序与设计的55个具体做法 day1

    博客好久没更新了,就从这本读书笔记开始吧. 条款01: 视C++为一个语言联邦 C++可视为有四个次语言组成的: 1.C语言 2.Object-Oriented C++ (面向对象C++) 3.Tem ...

  4. c# wpf ComboBox 动态下拉框 及 动态默认值设定

    1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...

  5. 解读 CSS 布局之水平垂直居中

    对一个元素水平垂直居中,在我们的工作中是会经常遇到的,也是CSS布局中很重要的一部分,本文就来讲讲CSS水平垂直居中的一些方法.由于我们大搜车的日常工作中已经不再需要理会低版本IE,所以本文所贴出的方 ...

  6. jsp和servlet的区别联系

    jsp和servlet的区别联系 简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML ...

  7. JNDI数据源配置

    一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下:   ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Connec ...

  8. python-多线程3-生产者消费者

    '''生产者和消费者''' ''' 用python写一个多线程的生产者和消费者 生产者x x>0,有东西,print(不生产) x=0,没东西,print(生产) for循环 消费者x x=0, ...

  9. JQuery添加删除标签

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <script src= ...

  10. 基于OpenCV的面部交换

    需要装python库 OpenCV dlib docopt(根据打开方式选择是否装) # -*- coding: UTF-8 #本电脑试运行 命令 python F:\python_project\s ...