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

前端之家收集整理的这篇文章主要介绍了php – Jquery :: 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();
                }
            });
        }
    }

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

猜你在找的PHP相关文章