当前位置: 首页 > 面试题库 >

jQuery :: Ajax支持进度条吗?

通俊发
2023-03-14
问题内容

我有一个页面,它使用jquery的ajax函数发送一些消息。

最多可能要发送5万条消息。

显然,这可能需要一些时间。

我想要做的是显示带有正在发送的消息的进度条。

后端是PHP。

我怎样才能做到这一点?

我的解决方案:通过原始ajax调用中的唯一标识符发送。
该标识符与完成百分比一起存储在数据库(或以标识符等命名的文件)中。

随着原始脚本的进行更新。

设置一个名为 progress(ident)

该函数对读取百分比的脚本进行ajax调用。
进度条将更新如果返回的百分比不是100,则
该函数设置一个超时,该超时将在1秒后调用。


问题答案:

您可以将动画gif加载通过.html()到结果区域,直到您的ajax函数返回结果为止。只是个主意。

关于jquery ui进度栏,您需要间歇地遍历脚本,并将代表完成百分比的数字值作为已分配的javascript变量进行回显。例如…

// text example php script
if (isset($_GET['twentyfive-percent'])) {
    sleep(2); // I used sleep() to simulate processing
    echo '$("#progressbar").progressbar({ value: 25 });';
    }
if (isset($_GET['fifty-percent'])) {
    sleep(2);
    echo '$("#progressbar").progressbar({ value: 50 });';
    }
if (isset($_GET['seventyfive-percent'])) {
    sleep(2);
    echo '$("#progressbar").progressbar({ value: 75 });';
    }
if (isset($_GET['onehundred-percent'])) {
    sleep(2);
    echo '$("#progressbar").progressbar({ value: 100 });';
    }

下面是我用来获取进度条以更新其位置的函数。我知道,有点疯了。

avail_elem = 0;
function progress_bar() {
    progress_status = $('#progressbar').progressbar('value');
    progress_status_avail = ['twentyfive-percent', 'fifty-percent', 'seventyfive-percent', 'onehundred-percent'];
    if (progress_status != '100') {
        $.ajax({
            url: 'test.php?' + progress_status_avail[avail_elem],
            success: function(msg) {
                eval(msg);
                avail_elem++;
                progress_bar();
                }
            });
        }
    }

如果我不得不猜测的话,我敢打赌,还有更好的方法……但这就是我测试它时对我有用的方法。



 类似资料:
  • 问题内容: 有什么方法可以确定正在运行的备份中有多少已完成或剩余多少? 问题答案: 是的,2010年3月27日提交了一个补丁: 这个新补丁有一个额外的参数–show-progress-size,默认情况下设置为10,000。因此,当使用– verbose时,每10,000行将得到一个常规状态输出,该状态输出是转储特定表的行数。 因此,请检查您的版本,并根据需要进行更新并享受。

  • 问题内容: 我正在寻找类似于uploadify的文件上传器,并带有进度条,该进度条不依赖闪存,最好使用jQuery-这可能吗? 问题答案: 当然可以。几个使用不同代码和教程的站点是: http://github.com/drogus/jquery-upload-progress(由DrJokepu忍者;) http://t.wits.sg/2008/06/25/howto-php-and-jque

  • 问题内容: 当我发送此ajax rquest时: 我收到此错误: XMLHttpRequest无法加载http://:// localhost:8080 / wutup / venues / 12。Access- Control-Allow-Methods不允许使用方法PATCH。 但是,使用curl: 问题答案: 该方法 确实 支持HTTP PATCH。 您看到的问题是该方法在选项预检检查的响应

  • 本文向大家介绍Ajax 实现加载进度条,包括了Ajax 实现加载进度条的使用技巧和注意事项,需要的朋友参考一下 ajax beforeSend: 先说说这个 beforeSend, 在请求发送前执行 比如 可以判断用户有没有登录 ,如果没有登录就停止请求 并提示。 $.ajax有一个参数是complete:function(){} 是在 请求完成之后执行的 ,配合beforeSend可以用来展示进

  • 问题内容: 我正在尝试捕获ajax请求的进度。 它没有按预期工作。据我所知,id为 progressProdCounter的 Div 应该在其中包含%的内容,但在我的情况下什么也没有发生。有帮助吗? __ 在我看来,这是行不通的 HTML: JS: 问题答案: ProgressEvent.lengthComputable ProgressEvent.lengthComputable只读属性是一个布

  • 本文向大家介绍jQuery EasyUI ProgressBar进度条组件,包括了jQuery EasyUI ProgressBar进度条组件的使用技巧和注意事项,需要的朋友参考一下 ProgressBar(进度条)组件,这个还是挺好玩的,我们在自己做点什么的时候经常能用到,比如上传下载文件、导入导出文档啊、载入网页等等。 应用场景很多,使用起来还很简单。 示例: 执行效果: 点击下载源代码:jQ