$.ajax JQuery进度条
我有一个通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您可以将查询分解为多个可以单独执行的组件,您可以不断询问服务器进度如何。
例如,如果您必须将大量数据插入数据库,而不是向数据库发出一个巨大的请求:
您可以将其分解为许多插入语句:
然后在任何阶段,您始终可以计算可以给出的行数你这个百分比。
例如,您知道要插入 20000 行。然后使用 ajax 调用服务器来执行以下操作:
它将返回一个最多 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:
you can break it into many insert statements:
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:
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.