最佳答案
由于您使用Ajax提交表单数据,因此设置enctype将不起作用.您完全绕过了将使用它的表单提交过程.
那么,让我们问你是否可以调整该代码以产生与设置enctype相同的效果.该属性对表单提交有三种效果.
>它设置HTTP发布请求的内容类型.你可以轻松地做到这一点.标题:{“Content-Type”:“multipart / form-data”}
>它使用multipart / form-data而不是application / x-www-form-urlencoded对表单中的数据进行编码“ – serialize将永远不会这样做
>它将包含文件输入中的文件 – serialize将永远不会这样做
jQuery没有内置任何东西通过Ajax处理文件上传. MDN has a pretty detailed description of the process for using built in browser APIs(请注意,您需要一个现代浏览器来支持其中一些API).
由于您使用的是jQuery,因此您应该考虑使用支持Ajax文件上载的预编写库.有plenty of them available,但我不能推荐一个特定的.