如何使用jQuery序列化进行文件上载?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (58)

我有一个表单,我使用jQuery序列化函数通过ajax提交表单

        serialized = $(Forms).serialize();

        $.ajax({

        type        : "POST",
        cache   : false,
        url     : "blah",
        data        : serialized,
        success: function(data) {

        }

但如果该窗体有一个<input type="file">字段...如何使用这个Ajax序列化方法将文件传递到窗体.?

提问于
用户回答回答于

无法使用Ajax上载文件,因为你不能访问存储在客户端计算机上的文件的内容,并使用javascript将其发送到请求中。实现这一目标的技术之一是使用隐藏的iframes。有一个很好的jQuery表单插件它允许你对表单和它进行AJAX化。支持文件上传也一样。因此,使用这个插件,你的代码将简单地如下所示:

$(function() {
    $('#ifoftheform').ajaxForm(function(result) {
        alert('the form was successfully processed');
    });
});

插件自动负责订阅submit事件,取消默认提交,序列化值,使用正确的方法和处理文件上载字段,

扫码关注云+社区

领取腾讯云代金券