JavaScript上载进度条,xhr.status错误500,但加载一个文件

JavaScript上载进度条,xhr.status错误500,但加载一个文件,javascript,php,xmlhttprequest,progress-bar,Javascript,Php,Xmlhttprequest,Progress Bar,用于上载一个或多个multipart/form data文件的脚本有问题 在我的客户端服务器上,当我尝试上载多个文件时,我会收到: xhr.status错误500 第一个文件上传正常,但我不能上传超过1个文件。在我的服务器上,一切正常-没有错误500。 我在网上搜索了帮助,但我只能找到有关服务器问题的信息,例如:无法接受POST、GET、选项 但是它只处理一个文件,我被卡住了 我试着一个接一个地上传文件,但是我的进度条像….一样闪烁 这是我的密码: $(document).ready( func

用于上载一个或多个
multipart/form data
文件的脚本有问题

在我的客户端服务器上,当我尝试上载多个文件时,我会收到:

xhr.status错误500

第一个文件上传正常,但我不能上传超过1个文件。在我的服务器上,一切正常-没有
错误500。

我在网上搜索了帮助,但我只能找到有关服务器问题的信息,例如:无法接受POST、GET、选项

但是它只处理一个文件,我被卡住了

我试着一个接一个地上传文件,但是我的进度条像….一样闪烁

这是我的密码:

$(document).ready( function() {
    $(".errorNotice").hide();
});

var form = document.getElementById('upload-form');
var ident = document.getElementById('ident');
var fileSelect = document.getElementById('file-select');
var uploadButton = document.getElementById('submit');
var max = document.getElementById('max');
var formUrl = form.action;

function sleep(milliseconds) {
    setTimeout(function(){ return true; }, milliseconds);
}

form.onsubmit = function(event) {
    event.preventDefault();

    uploadButton.innerHTML = 'Trwa ładowanie...';
    $("#upload-form").fadeOut();
    setTimeout(function() {
        $("#progressBar").fadeIn();
    }, 500);

    var files = fileSelect.files;
    var formData = new FormData();

    if( files.length > max.value) {
        if( max.value == 1) {
            var text = max.value + ' zdjęcie';
        }
        else if( max.value >1 && max.value <= 4) {
            var text = max.value + ' zdjęcia';
        }
        else {
            var text = max.value + ' zdjęć';
        }
        $("#progressBar").find("p").html('Możesz dodać maksymalnie: ' + text);
        setTimeout(function() {
            $("#progressBar").hide();
            $("#upload-form").fadeIn();
        }, 5000);
        return false;
    }

    if( files.length == 0 )
    {
        $("#progressBar").hide();
        $("#upload-form").show();
    }

    formData.append('ident', ident.value);
    formData.append('modules', 'true');

    for (var i = 0; i < files.length; i++) {
        var file = files[i];

        if (!file.type.match('image.*')) {
            continue;
        }

        formData.append('objectPhoto[]', file, file.name);
        formData.append(name, file, file.name);
    }

    var xhr = new XMLHttpRequest();
    xhr.open('POST', formUrl , true);

    xhr.upload.addEventListener("progress", function(e) {
        if(e.lengthComputable) {
            var percentage = Math.round((e.loaded * 100) / e.total);
            document.getElementById("bar").style.width = percentage + '%';
            document.getElementById("percent").innerHTML = percentage + '%';
        }
    }, false);

    xhr.onload = function () {
        console.log(this.responseText);
        if(this.responseText == "ok") {
            document.getElementById("percent").innerHTML = "Zakończono";
            document.getElementById("progressBar").style.display = "none";
            document.getElementById("upload-form").style.display = "block";
        } else {
            $(".errorNotice").show();
            $(".errorNotice .error-text").html(this.responseText);
        }

        if (xhr.status === 200) {
            uploadButton.innerHTML = 'Wgraj';
        } else {
            $(".errorNotice").show();
            $(".errorNotice .error-text").html("Wystąpił nieoczekiwany błąd o kodzie: " + xhr.status);
            uploadButton.innerHTML = 'Wyślij';
        }
    };

    xhr.send(formData);
    return false;
};
$(文档).ready(函数(){
$(“.errorNotice”).hide();
});
var form=document.getElementById('upload-form');
var ident=document.getElementById('ident');
var fileSelect=document.getElementById('file-select');
var uploadButton=document.getElementById('submit');
var max=document.getElementById('max');
var formUrl=form.action;
函数睡眠(毫秒){
setTimeout(函数(){return true;},毫秒);
}
form.onsubmit=函数(事件){
event.preventDefault();
uploadButton.innerHTML='Trwaładowanie…';
$(“#上传表单”).fadeOut();
setTimeout(函数(){
$(“#progressBar”).fadeIn();
}, 500);
var files=fileSelect.files;
var formData=new formData();
如果(files.length>max.value){
如果(最大值==1){
变量文本=最大值+zdjęcie;
}

否则如果(max.value>1&&max.value如果您想使用ajax发布和进度条检查此答案,此答案几乎可以在多次上传时更改,并显示为一个进度条,但这是您需要投入工作的地方。我知道,因为我在多次上传和单次上传时使用了相同的答案。我使用此示例作为我项目的基础.