加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Jquery :: Ajax提供进度条?

发布时间:2020-12-13 14:04:19 所属栏目:PHP教程 来源:网络整理
导读:我有一个页面,它使用 jquery的ajax函数发送一些消息. 可能会有超过50k个消息发送. 这可能需要一些时间显然. 我想要做的是显示正在发送消息的进度条. 后端是PHP. 我该怎么做? 我的解决方案 通过原始ajax调用中的唯一标识符发送. 该标识符存储在数据库(或标识
我有一个页面,它使用 jquery的ajax函数发送一些消息.

可能会有超过50k个消息发送.

这可能需要一些时间显然.

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

后端是PHP.

我该怎么做?

我的解决方案
通过原始ajax调用中的唯一标识符发送.
该标识符存储在数据库(或标识符等)中,以及完成百分比.

原始脚本继续更新.

一个功能被设置为进度(ident)

该函数对读取百分比的脚本进行ajax调用.
进度条更新
如果返回的百分比不是100,
该函数设置1秒钟后自动调用的超时.

您可以通过.html()将动画gif加载到结果区域,直到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();
                }
            });
        }
    }

如果我不得不猜测,我敢打赌有一个更好的方法…但是,当我测试它是这样对我有用的方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读