2

ファイルとテキスト入力の両方を送信するajaxアップロードフォームを作成しようとしています。私は次のコードでファイルを送信することができました:

var $form = $('#form');
var formData = new FormData();

formData.append('file', $('#file')[0].files[0]);

$.ajax({
    url: 'upload.php',
    type: 'POST',
    dataType: 'html',
    data: formData,
    processData: false,
    contentType: false
});

ただし、テキスト入力も送信する必要があるため、フォーム全体をFormDataオブジェクトに渡してみました。

var $form = $('#form');
var formData = new FormData($form);

$.ajax({
    url: 'upload.php',
    type: 'POST',
    dataType: 'html',
    data: formData,
    processData: false,
    contentType: false
});

しかし、「upload.php」には何も表示されません

テキストとファイル入力を一緒に送信するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

0

多くの検索の後にこの回答(前の回答)が見つかり、私のアプリケーションでうまく機能します:

$("form#data").submit(function(){

var fd = new fd($(this)[0]);

var request = jQuery.ajax({
  url: gurl,
  type: 'POST',
  cache: false,
  contentType: false,
  processData: false,
  data: fd
  });

AJAX 呼び出しも確認します。dataType: 'html' はエラーを引き起こす可能性があります。

于 2013-02-21T18:52:00.377 に答える