2

我的 php 文件上传有问题,我在 jquery 中通过 ajax 使用它。

这是我在 php 上传文件中的代码:

if ($_FILES["file"]["error"] > 0)
{
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
} else {
    move_uploaded_file($_FILES["file"]["tmp_name"],"termine.csv");
    echo "Stored in: " . $_FILES["file"]["name"];
}

这是我的 jquery ajax 语句:

 $('#upload_csv').click( function() {
    $.ajax({
        url: '/playground/php/updatedates.php',
        type: 'POST',
        data: $('form#csv').serialize(),
    }).done(function(txt) {
            if(txt!='')alert(txt);
    });
});

这是我在 index.php 文件中的表格:

<form enctype="multipart/form-data" id="csv" method="POST">
            <div style="float:left">
            <input name="file" type="file" id="file" size="100">
            <br/>
            <input type="submit" id="upload_csv" value="upload csv file">
            </div>
        </form>

我得到的唯一错误消息是“错误”,仅此而已。

希望有人可以提供帮助。

4

1 回答 1

2

$().serialize总是创建一个url-encoded字符串,并忽略文件输入。你必须使用另一种方法。见:http ://api.jquery.com/serialize/

一种选择是将表单隐藏iframe并触发提交事件。

还可以看看 jQuery File Upload 插件:http ://blueimp.github.com/jQuery-File-Upload/

于 2012-11-09T10:51:54.720 回答