--------- ИСПРАВЛЕНО ПРОБЛЕМА -----------
Не уверен, что проблема была, так как никогда не получал ошибку в консоли, но функции теперь работает как ожидалось.
У меня проблема с двумя функциями, которые опрашивают удаление и опрашивают вставку с использованием событий на стороне сервера
Опрос удаления работает нормально, как видно из фрагмента консоли ниже.
Проблема в опросе вставки, глядя на консоль, он показывает:
Начало вставки
Конец вставки
Процент выполнения 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();
}
}
}
});
}