【发布时间】:2018-06-07 11:26:48
【问题描述】:
尝试上传文件,下面代码中的var_dump($_POST) 表明ajax 没有设置$_POST['file']。我没有除此之外的错误消息,所以我不知道我哪里出错了。
VAR 转储结果
array(1) {
["action"]=>
string(20) "uploadNewUserPicture"
}
HTML
<div id="userInfoUploadProfilePic">
<form id="userUploadProfilePicForm" method="post" enctype="multipart/form-data">
<div class="userInfoFormTitle">UPLOAD PROFILE PICTURE</div>
<input type="file" name="fileToUpload" id="userImg"></input>
<br>
<input id="submitPictureButton" type="button" value="Upload Image" name="submit">
</form>
</div
JS
var file = $('#userImg')[0].files[0];
var formData = new FormData();
formData.append('action', 'uploadNewUserPicture');
formData.append('file', file );
$.ajax({
url: "php/upload.php",
type: "post",
processData: false,
contentType: false,
data: formData,
success: function(result) {
console.log(result);
},
error: handleAjaxError,
});
PHP
if(isset($_POST['action']) && !empty($_POST['action'])) {
var_dump($_POST);
$action = $_POST['action'];
$var = $_POST['file'];
switch($action) {
case 'uploadNewUserPicture' : uploadNewUserPicture($var);break;
}
};
【问题讨论】:
-
你检查
$_FILES['file']了吗?
标签: jquery ajax post file-upload