FormData を使用した AJAX ファイル アップロード
動的 HTML のコンテキストで、ドラッグ アンド ドロップでファイル アップロード フォームを生成しました。 AJAX を使用してフォームを送信するための JavaScript コードが含まれています。ただし、FormData を使用してファイルをアップロードしやすくするには、調整が必要です。
準備
FormData を利用するには、次のいずれかを選択します:
var form = $('form')[0]; var formData = new FormData(form);
var formData = new FormData(); formData.append('section', 'general'); formData.append('action', 'previewImg'); // Attach file formData.append('image', $('input[type=file]')[0].files[0]);
フォームの送信
提供されている jQuery スニペットを使用します:
$.ajax({ url: 'Your url here', data: formData, type: 'POST', contentType: false, processData: false, // ... Other options like success and etc });
Thisリクエストは enctype="multipart/form-data" を使用した通常のフォーム送信を模倣し、ファイルを正常にアップロードできるようにします。
注: オプションで type: "POST" を指定することを忘れないでください。ファイルのアップロードには POST リクエストが必要なため、
Update: jQuery 1.6 以降では、contentType: false が使用されます。サポートされています。
以上がファイルのアップロードに AJAX と FormData を使用する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。