PHP没有从ajax接收formData对象

时间:2013-01-06 22:34:38

标签: php javascript jquery ajax

我正在测试将一个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错误。

任何人都知道我可能做错了什么?多年来一直在挠头。

1 个答案:

答案 0 :(得分:7)

您尚未向FormData添加任何文件,只是$_POST['my_key']可以访问的字符串。

要传递文件,FormData.append的第二个参数必须是FILEBLOB