2012-07-05 52 views
2

我想通过使用jQuery的ajax提交一个文本和一个文件上传字段的表单。Ajax表单提交使用jQuery的文件上传

$("#myForm").submit(function() { 
    var formData = new FormData($(this)[0]); 
    $.ajax({ 
     url: $(this).attr("action"), 
     type: "POST", 
     data: formData, 
     async: false, 
     cache: false, 
     contentType: false, 
     proccessData: false, 
     success: function() { 
      // do something smart here 
     } 
    }); 
}); 

在提交时,我只有在WrappedNative原型对象一个错误非法操作,因为Ajax请求试图从形式发送整个DOM。

如何正确发送数据?

$(this).serialize()将是选项,如果我只想发送文本,但我试图发送文本并同时上传文件。

感谢您的帮助!

回答

2

试试这个,

$("#pushform").submit(function(){ 
var formData = new FormData($(this)[0]); 

$.ajax({ 
url:$(this).attr("action"), 
type: 'POST', 
data: formData, 
async: false, 
success: function (data) { 
alert(data); 
location.reload(); 
}, 
cache: false, 
contentType: false, 
processData: false 
}); 
return false;