如何使用AJAX使用enctype ="multipart/form-data"提交表单?

Sur*_*non 10 html javascript ajax

如何使用AJAX使用enctype ="multipart/form-data"提交表单?

Hen*_*ing 12

简短的回答:你没有.您无法通过AJAX上传文件.

通常的解决方法是将表单的目标设置为隐藏,iframe并使用正常的非AJAXy POST在那里提交表单,以实现所需的效果:

<form target="hiddenIframe" method="post" enctype="multipart/form-data">
    ...
</form>
<iframe name="hiddenIframe" id="hiddenIframe" style="display: none;" />
Run Code Online (Sandbox Code Playgroud)

有一个使用这种技术的jQuery插件.

编辑添加:

XMLHttpRequest level 2增加了对通过AJAX上传文件的支持,其浏览器支持现在已经很好并且在不断发展.这是一个浏览器支持概述.