1

javascriptの「formData」を使用して画像ファイルをajaxで送信しています。テキスト文字列などの他のデータを formData に添付するにはどうすればよいですか?

JS:

$("#post-image").click(function(){
    $.ajax({
        url: "../../build/ajaxes/upload-photo.php",
        type: "POST",
        data: formdata,
        processData: false,
        contentType: false,
        success: function (response) {
            console.log(response);
        }
    });
});

PHP:

私のPHPでは、を使用して画像にアクセスできます$_FILES["images"]。formdata で渡される追加データに何を使用すればよいかわかりません。

4

3 に答える 3

3

FormDataにパラメータを追加する場合は、FormData.append

$("#post-image").click(function(){
    formdata.append('name', 'value');
    $.ajax({
        url: "../../build/ajaxes/upload-photo.php",
        type: "POST",
        data: formdata,
        processData: false,
        contentType: false,
        success: function (response) {
            console.log(response);
        }
    });
});

PHPでは$_POST["name"]、値を取得するために使用します。

于 2012-12-09T21:55:33.797 に答える
0

フォームをマルチパートとして送信する必要があります。あなたの質問に対する SO ソリューションは次のとおりです: Making an HTTP POST call with multipart/form-data using jQuery?

正確な重複ではないため、そのようにマークしませんでしたが、問題の解決策への直接の参照です。

編集:一部の回答では、ソリューションとして FormData も参照されていることに気付くでしょう。適切に投稿されたデータを取得したら、PHP で通常の $_FORM コレクションを使用してアクセスできます。

于 2012-12-09T21:51:36.917 に答える