Javascript 完成百分比(jQuery&x2B;php)

Javascript 完成百分比(jQuery&x2B;php),javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想制作完成百分比(进程条),它显示处理了多少数据。 这是我的php代码: $w->connect(); try { $w->loginWithPassword($password); } catch (exception $e) { return false; } foreach($targets as $target) { $w->sendMessage($target, $text); } return true; foreach是我想显示发送了

我想制作完成百分比(进程条),它显示处理了多少数据。 这是我的php代码:

$w->connect();
try {
    $w->loginWithPassword($password);
}
catch (exception $e) {
    return false;
}
foreach($targets as $target)
{
    $w->sendMessage($target, $text);
}
return true;
foreach是我想显示发送了多少消息的进程。 现在在js中,我有:

  function send_message(){
  var msg =  {msg_receptions:$('#msg_receptions').val(),msg_from:$('#msg_from').val(),msg_text:    $('#msg_text').val()};
$.post(
         site_url('ajax/send_message'),
         msg,
         function(data, status){

         }
       );
  }

我不知道如何使进程栏显示完成百分比

根据评论进行编辑

如果您想跟踪您的消息被上传的数量,那么您需要在当前会话中执行轮询系统(您可以使用套接字,但这越来越复杂)

在PHP中,启动一个会话(在加载第一个页面之前)并创建会话变量来存储进度。在您发布到的页面中,使用相同的会话,将进度设置为0,并且每次
SendMessage
循环时,使用最新的进度更新该变量

在JS中,使用AJAX提交PHP请求(使HTML保持不变),然后使用
setTimeout()
对您需要编写的新文件执行第二个AJAX请求,该文件使用相同的会话,获取更新的进度数据并返回-这将与初始答案相同。收到响应后,再次执行
setTimeout
并重复(不要使用
setInterval
,因为这样做会使服务器崩溃)。当初始请求返回时,终止超时

最后一点注意:使用jQueryUI在这方面做得太过分了;所以,只有当你有其他的东西要用的时候才使用它。否则就是10行代码(如下)

希望这有助于回答这个问题

**先前的答复**

最简单的方法是将两个div相互包裹

您的样式表应包含:

<style>
    .progressBar {
        position: relative;
        border: 1px solid black;  /* Style as you see fit */
    }
    .progressIndicator {
        position: absolute;
        left: 0;
        top: 0;
        width: 0;
        height: 10%;
        background: #f00;  /* Style as you see fit */
    }
</style>

(其中数据是在0和100之间返回的值)

回答不错,+1,也非常接近10k;)不,这不是我的答案。我想要真正的过程完成百分比。我可以用jQueryUI制作流程栏。比如上传了多少数据?或者是登录需要很长时间,您想知道登录过程已经进行了多远?我想发送需要很多时间的消息,然后我想显示发送的许多消息。
<html>
    <div class="progressBar">
        <div class="progressIndicator">
        </div>
    </div>
</html>
$('.progressIndicator').css({width: parseInt(data, 10) + "%"});