如何实现jquery php进度条
我有一个多步骤表单,其中 Step3 上的表单提交到 Step4.php。 Step4是一个结果页面,加载需要一些时间,所以我想尝试在Step4.php实际加载之前,当用户单击step3提交按钮时实现一个进度条或加载栏之类的东西。我想我可以用 jquery 做到这一点?但是,我不确定如何。是否可以做到这一点而不必使用jquery将数据发布到step4.php?
I have a multi-step form where the form on Step3 submits to Step4.php. Step4 is a results page, and it takes some time to load, so I wanted to try and implement a progress bar or a loading bar or something when the user clicks the step3 submit button before Step4.php actually loads. I would think I could do this with jquery? But, I'm not sure how. Is it possible to do this without having to use jquery to post the data to step4.php?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
为ajax请求做进度条是非常困难的。您实际上无法以通过进度条向用户提供准确信息的方式访问该请求。您最好为用户提供一个旋转器,向他们显示脚本正在加载内容。
It is very hard to do progress bars for ajax requests. You don't really have access to the request in a way to give the user accurate information with a progress bar. You are better off giving your users a spinner showing them that the script is working on loading things.
正如 Peter 所说,通过 ajax 很难做到这一点。人们通常会使用一个小的 Flash 小程序来提供文件上传和进度条。我知道 Gmail 和 Wordpress 都这样做,还有许多其他的。有许多预制的,您只需放入并使用即可:
As peter says, this is very difficult to do from ajax. Often what people do instead is use a tiny Flash applet which provides the file upload and progress bars. I know both Gmail and Wordpress do this, many others as well. There are many pre-made ones that you just have to drop in and use:
我在 MySQL 加载程序中解决了这个问题,方法是输出一个带有进度条的简单页面,并使用 flash() 刷新输出。然后我输出一个简单的 javascript 片段:
输出此 JS 片段后我还调用了flush。每次要更新进度条时,您都必须不断输出这些片段。
I solved this in a MySQL loading program by outputting a simple page with the progress bar, flushing the output with flush(). I then output a simple snippet of javascript:
I also call flush after outputting this JS snippet. You have to continually output these snippets each time you want to update the progressbar.
如果这是一个上传进度条:
第一部分是在 PHP 端安装一些可以连接的东西。
APC 扩展包含上传挂钩机制。您可能已经安装了它,因为它是 PHP 的常见操作码缓存(默认情况下将包含在 PHP6 中)。
安装 APC 后,您需要设置 PHP 页面和 PHP 处理程序端。
PHP 页面:
...
您还需要 PHP 端的脚本来通过 AJAX 调用。自从我用 PHP 完成 AJAX 以来已经有一段时间了,但是应该做这样的事情:
编辑:哎呀,原始帖子中没有任何内容表明这是一个上传进度条
If this is an upload progress bar:
The first part is installing something on the PHP side that you can hook into.
The APC extension includes an upload hook mechanism. You may already have this installed, as it's a common opcode cache for PHP (and will be included by default in PHP6).
Once APC is installed, you need to set up both the PHP page and PHP handler sides.
PHP page:
...
You will also need a script on the PHP side to call via AJAX. It's been awhile since I've done AJAX with PHP, but something like this should do:
Edit: Whoops, there's nothing in the original post that says this is an upload progress bar
一个简单的 PHP 上传进度条:
在 upload.php
中 upload_frams.php
中 style_progress.css
查看演示
谢谢,
钦图
A Simple PHP Upload Progress Bar :
in upload.php
In upload_frams.php
In style_progress.css
View Demo
Thanks,
Chintu