jquery Ajax 中表单的serialize(),导致上传的文件无法传输
话不多说,直接上代码!
在表单中加上附件上传之后通过ajax提交,发现对应的接口中文件传过来是null,很神奇,在js中alert文件是有值的,但是就是传输不到后台。
上面的data中将表单数据进行了序列化,但是表单序列化的时候对应的附件是无法进行序列化的,所以导致表单中的文件序列化失败,如今主流浏览器都开始支持一个叫做FormData的对象,有了这个FormData,我们就可以轻松地使用Ajax方式进行文件上传了。如下图所示:
注意:
加上之后就完美的解决这个问题了。