簡體   English   中英

xmlhttprequest請求已發送,但是代碼未執行?

[英]xmlhttprequest request sent, but code not executed?

因此,我使用的是我在WWW上下載的jQuery Upload-Script。

這是我的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 /”,也沒有在我的數據庫中插入任何內容? 我究竟做錯了什么?

另一個問題:您是否建議其他設計良好(對引導程序友好)的jQuery File-Upload處理程序?

我想,如果沒有文件顯示,則您的enctype="multipart/form-data"可能缺少enctype="multipart/form-data"

PHP正在尋找isset($ _ FILES [“ myfile”]),但是,您從未在JS中定義任何名為“ myfile”的東西。 我的猜測是您的if(isset())被完全跳過,沒有錯誤,狀態為200 OK。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM