xmlhttprequest 请求已发送,但代码未执行?

xmlhttprequest request sent, but code not executed?

所以,我正在使用我在 WWW 上下载的 jQuery 上传脚本。

这是我的 JavaScript 代码:

$(document).ready(function()
                {
                    var settings = {
                        url: "upload.php",
                        method: "POST",
                        allowedTypes:"pdf,xls,doc,docx,xlsx",
                        fileName: "name",
                        multiple: true,
                        onSuccess:function(files,data,xhr)
                        {
                            $("#status").html("<font color='green'>Upload is successed</font>");

                        },
                        onError: function(files,status,errMsg)
                        {
                            $("#status").html("<font color='red'>Upload is failed: " + errMsg + "</font>");
                        },
                        showDelete:true,
                        deleteCallback: function(data,pd)
                        {
                            for(var i=0;i<data.length;i++)
                            {
                                $.post("delete.php",{op:"delete",name:data[i]},
                                    function(resp, textStatus, jqXHR)
                                    {
                                        //Show Message
                                        $("#status").html("<font color='red'>File deleted.</font>");
                                    });
                            }
                            pd.statusbar.hide(); //You choice to hide/not.

                        }
                    };
                    $("#mulitplefileuploader").uploadFile(settings);

                });

这是我的 "upload.php":

<?php
include_once("_assets/_pages/db.php");

$output_dir = "_files/";
if(isset($_FILES["myfile"]))
{
    $ret = array();

    $error = $_FILES["myfile"]["error"];
    //You need to handle  both cases
    //If Any browser does not support serializing of multiple files using FormData()
    if(!is_array($_FILES["myfile"]["name"])) //single file
    {
        $fileName = $_FILES["myfile"]["name"];
        move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
        $ret[]= $fileName;
        $sql = 'INSERT INTO `Files` (FileName, UploadDate, DownloadCount) VALUES ($filename, CURRENT_TIMESTAMP, 0)';
        $db->query($sql);
    }
    else  //Multiple files, file[]
    {
        $fileCount = count($_FILES["myfile"]["name"]);
        for($i=0; $i < $fileCount; $i++)
        {
            $fileName = $_FILES["myfile"]["name"][$i];
            move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
            $ret[]= $fileName;
            $sql = 'INSERT INTO `Files` (FileName, UploadDate, DownloadCount) VALUES ($filename, CURRENT_TIMESTAMP, 0)';
            $db->query($sql);
        }

    }
    echo json_encode($ret);
}
?>

我的 upload.php 没有将文件放入“_files/”,也没有向我的数据库插入任何内容? 我做错了什么?

其他问题:您是否推荐任何其他设计良好(bootstrap-友好)jQuery 文件上传处理程序?

我想,如果没有显示任何文件...您的表单中可能缺少 enctype="multipart/form-data"

PHP 正在寻找 isset($_FILES["myfile"]),但是,您永远不会在 JS 中定义任何名为 'myfile' 的东西。我的猜测是你的 if(isset()) 被纯粹跳过,没有错误,状态 200 OK.