我正在尝试通过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插件上传图像吗?请提出建议。

谢谢。

最佳答案

尝试在var选项中添加'cache:false'。

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


为我工作。

关于javascript - 通过ajaxform上传文件不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23946820/

10-09 08:45