gpt4 book ai didi

Jquery进度条服务器端

转载 作者:行者123 更新时间:2023-12-01 02:55:19 25 4
gpt4 key购买 nike

我在服务器端(在数据库中运行大量查询)有一个长时间运行的进程(不确定时间),需要超过 30 秒。我想向用户显示进度(以%为单位)。我在我的应用程序中使用jquery、struts。有办法做到吗?

最佳答案

我们就是这样做的。

  • 触发该流程时,客户端会创建一个 GUID 并将其传递到服务器。
  • 在服务器端,运行该进程,并在运行期间,使用 GUID 作为 key 将进度存储在 session /缓存中。
  • 在客户端,定期对传递 GUID 值的服务进行 ajax 调用。该服务将返回与GUID值对应的进度状态。
  • 根据服务返回的值更新进度条状态。
  • 如果您要将值存储在 session 中,则该过程完成后,请确保将其清除。

下面是进行 ajax 调用的示例方法。

    function updateProgress() {
if (stopProgressCheck) return;
var webMethod = progressServiceURL + "/GetProgress";
var parameters = "{'guid':'" + guid + "'}"; //passing the guid value

$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d != "NONE") { //add any necessary checks
//add code to update progress bar status using value in msg.d
statusTimerID = setTimeout(updateProgress, 100); //set time interval as required
}
},
error: function (x, t, m) {
alert(m);
}
});
}

希望这对你有用:)

关于Jquery进度条服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24608335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com