3

formDataオブジェクトをPHPに送信することをテストしています(http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/をフォローしています)が、それを取得するのに問題があります。接地。まず、formDataオブジェクトが作成され、次のデータが入力されます。

var formdata = new FormData();
formdata.append('my_key','my_value');

次に、jQueryを使用したajax呼び出しは次のとおりです。

  $.ajax({
     url: 'php_upload.php',
     type: 'POST',
     cache: false,
     data: formdata,
     processData: false,
     contentType: false,
     success: function (response) {
     console.log(response);
  }
  }); 

以下を含むphp_upload.phpファイルを使用:

<?php
    echo $_FILES['my_key']['name'];
?>

しかし、コンソールにmy_keyエラーという未定義のインデックスが表示されます。

誰かが私が間違っているかもしれないことを知っていますか?何年もの間私の頭を掻いてきました。

4

1 に答える 1

8

FormData にファイルを追加していません。 からアクセスできる文字列だけ$_POST['my_key']です。

ファイルを渡すには、FormData.append の 2 番目のパラメーターを aFILEまたは aにする必要がありBLOBます。

于 2013-01-06T22:38:07.377 に答える