php – 如何在JavaScript中创建服务器端进度指示器?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何在JavaScript中创建服务器端进度指示器?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1548字,纯文字阅读大概需要3分钟。
内容图文
![php – 如何在JavaScript中创建服务器端进度指示器?](/upload/InfoBanner/zyjiaocheng/696/949fa86c3524413eb90ae5e589f31940.jpg)
我想在我的网站中创建一个部分,其中用户有一些简单的更新按钮.
每个更新按钮都将进入服务器,并将在场景后进行长时间的处理.
当服务器处理数据时,我希望用户拥有某种进度指示器,如进度条或文本百分比.
我正在使用jQuery作为我的JavaScript库,而CodeIgniter(PHP)作为服务器端框架,如果它很重要……
我在想的是使用PHP的flush()函数向jQuery报告进度状态,但我不确定jQuery的Ajax函数在完成之前是否正在读取输出…
所以任何建议/解释都是有用的和有用的!
解决方法:
我将使用WebSync On-Demand给你一个例子,但无论你选择哪种服务器,都可以使用相同的方法.
这是你做的.首先,以某种方式开始长期运行;你的用户点击按钮开始这个过程(我将假设一个Ajax调用,但无论什么工作),你返回给他们某种标识符,我们称之为’myId’,给它一个值’ 1.无论你是通过调用某种过程来做到这一点,都取决于你.
然后,在来自该调用的回调中,您将编写如下内容:
var myId = 1; // this would be set somewhere else
client.initialize('api key');
client.connect();
client.subscribe({
channel: '/tasks/' + myId,
onReceive: function(args){
// update the progress bar
myProgressBar.update(args.data.progress);
}
});
这样做是订阅您的客户端以接收有关任务更新的通知,所以剩下的就是推出更新,您在任何实际运行任务的过程中都会执行更新.这看起来像(在PHP中,使用SDK):
$publisher = new Publisher(
"11111111-1111-1111-1111-111111111111", // your api key again
"mydomain.com" // your domain
);
// publish data
$response = $publisher->publish(array(
array(
'channel' => '/tasks/' . $myId, //comes from somewhere
'data' => (object) array(
'progress' => '45' //45% complete
)
)
));
// success if empty (no error)
$success = empty($response);
而已;随着更新的发生,他们会实时向您的客户推送.
内容总结
以上是互联网集市为您收集整理的php – 如何在JavaScript中创建服务器端进度指示器?全部内容,希望文章能够帮你解决php – 如何在JavaScript中创建服务器端进度指示器?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。