2

jQueryを使用してajaxで1つのテキストと1つのファイルアップロードフィールドを持つフォームを送信しようとしています。

$("#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
        }
    });
});

送信時に、Ajax リクエストがフォームから DOM 全体を送信しようとしているため、WrappedNative プロトタイプ オブジェクトでエラー Illegal operation のみが発生しました。

データを正しく送信するにはどうすればよいですか?

テキストのみを送信したい場合は $(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 に答える