使用jquery进行文件上传的Ajax表单提交

时间:2012-07-05 09:03:09

标签: jquery ajax forms upload

我正在尝试使用jQuery通过ajax提交一个包含一个文本和一个文件上载字段的表单。

$("#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()将是选项,如果我只想发送文本,但我正在尝试发送文本并同时上传文件。

感谢您的帮助!

1 个答案:

答案 0 :(得分: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;