2012-07-05 89 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;