使用ajaxForm插件提交FormData

时间:2013-10-18 03:49:36

标签: jquery forms ajaxform form-data

如何将FormData对象放入表单并使用ajaxForm插件提交? 我正在尝试做以下事情:

var fd = new FormData();
fd.append('photo', file);
var form = $("<form method='POST' action='url.php' enctype='multipart/form-data'></form>");

将fd formData作为对象添加到表单中,并将表单转换为ajaxForm:

form.ajaxForm({
      beforeSend: function(e) {},
      uploadProgress: function(event, position, total, percentComplete) {},
      complete: function(data) {}
});

然后提交表格。 所以在url.php我可以通过$ _FILES ['photo']获取文件;

2 个答案:

答案 0 :(得分:2)

您可以像普通的ajax post一样直接发送数据..

像 ..

form.ajaxForm({
  data: { data: fd }, 
  beforeSubmit:function() { 

    } 
  beforeSend: function(e) {},
  uploadProgress: function(event, position, total, percentComplete) {},
  complete: function(data) {}
});

我已经测试过,它工作正常......

答案 1 :(得分:0)

这就是为我工作的

var fd = new FormData(this);
fd.append('upload', file);

$(this).ajaxSubmit({
    formData: fd,
    ...
});