ajaxForm无法POST文件

时间:2013-09-09 23:56:39

标签: php javascript ajax jquery ajaxform

我正在尝试做什么

我有一张通过ajaxForm发布的表单。表单包含file输入字段,但数据未使用POST中的其余信息进行处理。

代码

HTML表单

<form id="profilepicForm" action="user/profilepic.php" method="post" enctype="multipart/form-data">
    <input type="file" accept="image/gif, image/jpeg, image/png" name="file" />
    <input type="hidden" name="userid" value="<?php echo $_SESSION['user']['id'] ?>" />
    <input type="submit" value="Upload">
</form>

的Javascript

var options = { 
    complete: function(response) {
        $("#profilepicMessage").html(response.responseText);
    },
    error: function(){
        $("#profilepicMessage").html("ERROR: unable to upload file");
    } 
};

$("#profilepicForm").ajaxForm(options);

PHP

$user_id    = $_POST['userid'];
$image      = $_FILES['file']['name'];

print_r($_POST);
exit;

发生了什么

所有这一切都是Array ( [userid] => 34 ),其中34是我特定的userid。因此,我知道 形式已发布,但文件未通过。

2 个答案:

答案 0 :(得分:1)

您应该查看全局变量$_FILES

答案 1 :(得分:-1)

你必须寻找像uploadifive来管理它的东西,因为ajax目前无法处理文件传输

(这不完全正确,有ajax2 and html5 file api,但为自己保存问题,请寻找上传文件。