12

入力タイプのファイルを送信するフォームを作成しました。サーバー側で値を取得したいので を$_FILES使用print_r($_FILES)しましたが、ajax 応答では何も値を取得しません。ここで私のコード..

  <form id="my_form">
     <input type="file" id="image_file" name="image_file"/>
  </form>

  $('#my_form').submit(function() {
     var data   = $('#my_form').serialize();
     $.ajax({
        url: 'ajax.php',
        type: 'POST',
        data: data,
        enctype: 'multipart/form-data',
        success: function(response) {
            alert(response);
        }, 
    });
  return false;
});

そしてここに私のphpコード

<?php  
  $name = $_FILES['image_file']['name']; // get the name of the file
  $type = $_FILES['image_file']['type']; // get the type of the file
  $size = $_FILES['image_file']['size'];
  echo $name;
  //or
  print_r($_FILES);
?>

私を助けてください ...

ありがとう..

4

1 に答える 1

1

Ajaxファイルアップロード

このプラグインが問題の解決に役立つ可能性があります。

このプラグインのやり方は、iframe タグを使用してページを更新せずにすべてのリクエストを処理する ajax 理論が提案される前に人々が行っていた方法とまったく同じです。

HTML5 がなければ、XMLHttpRequest を使用してファイルをアップロードすることはできないと思います。

于 2013-05-23T03:19:31.810 に答える