jquery - 轮询一个又一个功能,第二个功能未正确触发
问题描述
---------问题已解决------------
不确定问题是什么,因为控制台中从未出现错误,但这些功能现在可以按预期工作。
我在使用服务器端事件轮询删除和轮询插入的两个函数时遇到问题
从下面的控制台片段可以看出,删除投票工作正常。
问题是插入轮询,查看控制台,它显示:
插入开始
末端插入
完成百分比 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();
}
}
}
});
}
解决方案
推荐阅读
- karate - 任何示例都有一个 java 类实例调用一次并在具有不同特征文件的空手道的所有场景中使用
- ml.net - ML.NET 如何检测 PredictionEnginePool 中缺少模型
- javascript - 将 Double64 转换为 Long64 并返回 JavaScript
- python - 使用 altair 交互式绘图的编码错误?
- reactjs - React Native 给出错误:TypeError: undefined is not an object (evalating 'item.enclosures[0].url')
- python - ImportError: 无法从 '__main__' 导入名称 'views' (C:\Users\Kalyan Mohanty\Documents\GitHub\Django\rek\calc\urls.py)
- python - 在为 csv 文件编码时:ValueError:一个系列的真值是不明确的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- python - 在等号后插入换行符在python3.8中自我记录f字符串
- rust - 这是按值捕获字符串的正确方法吗?
- javascript - 如何单击 SVG 以激活父网页中的功能