上传文件时出现JQuery错误

时间:2016-10-31 22:45:03

标签: javascript php jquery html ajax

我想使用HTML,JavaScript和PHP将文件上传到Web服务器。

我的HTML看起来像这样:

<form method="post" enctype="multipart/form-data" name="uploadForm"> 
    <input type="file" name="uploadFile" onchange="uploadplz();">
    <!-- <input type="submit" name="upload_submit" value="Upload"> -->
</form>

提交按钮已注释掉,因为我只需要使用一个按钮来上传和提交文件。我有一个调用JavaScript函数的onchange属性。然后JavaScript函数使用AJAX调用调用PHP函数。

我的JavaScript / AJAX看起来像这样:

<script type="text/javascript">
    function uploadplz() {
        $.ajax({
            type: "POST",
            url: "file.php",
            data: "uploadForm",
            success: function(response) {
                alert(response);
            }
        });
    }
</script>

PHP isset看起来像这样:

if(isset($_POST["uploadForm"])) {
    upload_file();
}

PHP函数如下所示:

function upload_file() {
    $dir = "files/";
    $target_file = $dir.basename($_FILES["uploadFile"]["name"]);

    echo $target_file."</br>";

    if(move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $target_file)) {
        echo $target_file." uploaded successfully.</br>";
    } else {
        echo "Error uploading</br>";
    }
}

当使用2个按钮时,PHP工作正常,即上传文件。我在尝试使用一个按钮时假设我的AJAX错误。 PHP函数返回Error uploading消息和空白文件名。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您只上传字符串SELECT tsearch.description ,tcompany.CompanyName ,tsearch.CompanyGUID ,tgenie.GenieNotes ,tGenieType.GenieType FROM tcompany JOIN tsearch ON tcompany.SomeID = tsearch.SomeID JOIN tGenieType ON tcompany.SomexID = tGenieType.SomexID LEFT JOIN tGenie ON tgenie.GenieTypeGUID = tGenieType.GUID 而非"uploadForm"对象。使用File上传FormData(),请参阅jQuery Ajax File Upload

<form>