2

我正在尝试使用 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
        }
    });
});

在提交时,我只收到错误Illegal operation on WrappedNative 原型对象,因为 ajax 请求试图从表单发送整个 DOM。

如何正确发送数据?

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

谢谢你的帮助!

4

1 回答 1

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;
于 2013-04-18T14:57:25.057 回答