通过ajaxform上传文件无效

时间:2014-05-30 04:02:14

标签: javascript php ajaxform

我正在尝试通过AJAX调用(& PHP)上传图像。我使用ajaxform插件这样做但是,显然当我提交表单时,“文件”输入值没有传递给php脚本。这是我的HTML& JS:

<form action="upload_file.php" method="post" enctype="multipart/form-data" id="select-image">
    <input type="file" name="image" size="30"/> <input type="submit" name="upload" value="Upload" />
</form>

<script>
    var options = { 
        success:       showResponse  // post-submit callback 
    }; 

    // bind form using 'ajaxForm' 
    $('#select-image').ajaxForm(options); 

    // post-submit callback 
    function showResponse(responseText, statusText, xhr, $form)  {       
        alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
            '\n\nThe output div should have already been updated with the responseText.'); 
    } 
</script>

对于测试upload.php包含:

<?php
if(isset($_POST['upload'])){
    var_dump($_FILES);
}
?>

当我提交表格时,我得到的是:

Array(
    [image]=>
)

我做错了吗?我甚至可以通过Ajaxform插件上传图片吗?建议请。

感谢。

1 个答案:

答案 0 :(得分:1)

尝试添加&#39;缓存:false&#39;在var选项中。

var options = { 
  cache : false,
  success: showResponse  // post-submit callback 
}; 

适合我。