首页 > 解决方案 > 轮询一个又一个功能,第二个功能未正确触发

问题描述

---------问题已解决------------

不确定问题是什么,因为控制台中从未出现错误,但这些功能现在可以按预期工作。

我在使用服务器端事件轮询删除和轮询插入的两个函数时遇到问题

从下面的控制台片段可以看出,删除投票工作正常。

问题是插入轮询,查看控制台,它显示:

插入开始

末端插入

完成百分比 100

插入

它实际上并没有显示插入的记录数,我正在努力让它正常工作,任何帮助将不胜感激。

完成百分比 71
完成百分比 74
完成百分比 77
完成百分比 80
完成百分比 82
完成百分比 85
完成百分比 88
完成百分比 91

完成百分比 94
完成百分比 97
完成百分比 100
删除结束

状态成功

检查状态

插入开始

末端插入

完成百分比 100

插入

$(function () {
    $("#submissionData").html("");
    $("#uploadMembers").on("click",function (event) {
        event.preventDefault();
        console.log("Form submitted");
        checkDeleteStatus();
    });

});
//Delete Polling
function checkDeleteStatus() {
    if (typeof EventSource === "undefined") {
        $("#status").append("<div>Sorry your browser does not support SSE</div>");
    }
    console.log("Start of delete");
    var source = new EventSource("/PollingDeleteOldProducts");

    source.addEventListener("message", function (event) {
        var data = JSON.parse(event.data);

        $.each(data.DisplayPollingInsert, function (key, value) {

            document.getElementById("uploadProgress").value = value.TotalPercentageDone;
            console.log("Percentage complete " + value.TotalPercentageDone);
            $(".progress-bar-custom").css("width", value.TotalPercentageDone + "%");
            $(".progress-bar-custom").html(value.TotalPercentageDone + "%");


            $("#ajaxRegister").html(`<p class=\"text-danger-custom\">${value.DisplayUpdate}</p>`);
            if (value.DisplayUpdate === "Completed Delete") {
                console.log("End Of Delete");
                source.close();
                console.log("status success");
                InsertProducts();
            }
        });

    },
        false);
}
//Polling
function checkStatus() {
    console.log("check status");
    if (typeof EventSource === "undefined") {
        $("#status").append("<div>Sorry your browser does not support SSE</div>");
    }
    console.log("Start of insert");
    var source = new EventSource("/PollingFileUpload");

    source.addEventListener("message", function (event) {
        var data = JSON.parse(event.data);

        $.each(data.DisplayPollingInsert, function (key, value) {
            document.getElementById("uploadProgress").value = value.TotalPercentageDone;
            console.log("Percentage complete " + value.TotalPercentageDone);
            $(".progress-bar-custom").css("width", value.TotalPercentageDone + "%");
            $(".progress-bar-custom").html(value.TotalPercentageDone + "%");


            $("#ajaxRegister").html(`<p class=\"text-success-custom\">${value.DisplayUpdate}</p>`);
            if (parseInt(value.TotalCount) > 0) {
                console.log("Inserting");
                if (parseInt(value.TotalCount) === parseInt(value.CurrentCount)) {
                    source.close();
                }
            }

        });
    },
        false);

    console.log("End insert");
}

function InsertProducts() {
    var formData = new FormData(document.getElementById("frmUploadProducts"));
    checkStatus();
    jQuery.ajax({
        enctype: "multipart/form-data",
        contentType: false,
        processData: false,
        async: false,
        type: "Post",
        url: "/InsertProducts",
        data: formData,
        cache: false,
        dataType: "json",
        success: function (dataForm, status) {
            if (status === "success") {
                if (dataForm.Confirm === "NoTicket") {
                    $("#submissionData").append(`<p class=\"text-danger-custom\">${dataForm.Message}</p>`).show();

                } else if (dataForm.Confirm === "NoExcelFileUploaded") {
                    $("#submissionData").append(`<p class=\"text-danger-custom\">${dataForm.Message}</p>`).show();
                    $('#submissionData').html("");

                } else if (dataForm.Confirm === "OperationComplete") {
                    if (dataForm.Errors !== "") {
                        $("#submissionData").html("");
                        $("#submissionData").append(dataForm.Errors);
                        $("#uploadMembers").attr("disabled", true);
                    }
                }
                else if (dataForm.Confirm === "false") {
                    $("#ajaxRegister").html("");
                    $("#ajaxRegister").append(`<p class=\"text-danger-custom\">${dataForm.Message}</p>`).show();
                    $("#submissionData").html("");
                    $("#submissionData").append(dataForm.Errors);
                }
                else {
                    $("#submissionData").append(`<p class=\"text-danger-custom\">Something has went wrong</p>`).show();
                }
            }
        }
    });
}

标签: jquery

解决方案


推荐阅读