$.ajax JQuery进度条

发布于 2024-12-29 19:35:15 字数 226 浏览 0 评论 0原文

我有一个通过 ajax 调用执行的 sql 查询,但我需要能够检查它的进度并更新进度栏。

这是我的简单 ajax 调用(使用 JQuery):

var strResult = (($.ajax({url: URL,async: true}).responseText));

有什么想法如何监听更改以更新栏吗?

附言。这个问题与SQL无关。

I have a sql queries being executed via an ajax call, but I need to be able to check the progress of it and update a progress bar.

Here's my simple ajax call (using JQuery):

var strResult = (($.ajax({url: URL,async: true}).responseText));

Any ideas how I listen for changes to update the bar?

PS. This question is nothing to do with SQL.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘴硬脾气大 2025-01-05 19:35:15

如果您可以将查询分解为多个可以单独执行的组件,您可以不断询问服务器进度如何。

例如,如果您必须将大量数据插入数据库,而不是向数据库发出一个巨大的请求:

INSERT INTO table VALUES (..), (..), .. ;

您可以将其分解为许多插入语句:

INSERT INTO table VALUES (..);
...
INSERT INTO table VALUES (..);

然后在任何阶段,您始终可以计算可以给出的行数你这个百分比。

例如,您知道要插入 20000 行。然后使用 ajax 调用服务器来执行以下操作:

SELECT COUNT(*) FROM table

它将返回一个最多 20000 的数字,您可以计算百分比。

另一个解决方案是使用 websockets,但这需要大量配置。

If you can break up the query into many components which can be executed separately, you can keep asking the server what is the progress.

For example, if you have to insert a lot of data into the db, instead of making one giant request to the db:

INSERT INTO table VALUES (..), (..), .. ;

you can break it into many insert statements:

INSERT INTO table VALUES (..);
...
INSERT INTO table VALUES (..);

Then at any stage you can always count the number of rows which can give you the percentage.

For example, you know that you are suppose to insert 20000 rows. Then using an ajax call to the server which will do this:

SELECT COUNT(*) FROM table

which will return a number up to 20000 you can calculate the percentage.

Another solution is to use websockets but this will require a lot of config.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文