Ajax+PHP打造等待进度条效果

Posted 巴巴塔分享站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax+PHP打造等待进度条效果相关的知识,希望对你有一定的参考价值。

方法XHR.readyState五种状态

Ajax+PHP打造等待进度条效果

0:请求未初始化,还没有调用open()。

1:请求己经建立,但是还没有发送,还没有调用send()。

2:请求己发送,正在处理中(通常现在可以从响应中获取内容头)。

3:请求在处理中;通常响应中已有部分数据可用了,没有全部完成。

4:响应已完成;您可以获取并使用服务器的响应了。


方法XHR.status常见的几种状态

Ajax+PHP打造等待进度条效果

100 — 客户必须继续发出请求

101 — 客户要求服务器根据请求转换HTTP协议版本

200 — 成功

201 — 提示知道新文件的URL

300 — 请求的资源可在多处得到

301 — 删除请求数据

404 — 没有发现文件、查询或URI

500 — 服务器产生内部错误


实例操作

先看效果图:

Ajax+PHP打造等待进度条效果

Ajax+PHP打造等待进度条效果

index.php:

<script type="text/javascript" src="ajax.js"></script>
<a href="#" onclick="funphp('o')">o</a>&nbsp;&nbsp;&nbsp;
<a href="#" onclick="funphp('t')">t</a>&nbsp;&nbsp;&nbsp;
<a href="#" onclick="funphp('x')">x</a>&nbsp;&nbsp;&nbsp;
<br>
<div id="php"></div>

ajax.js:

var xmlHttp;
function S_xmlhttprequest() {
   if(window.ActiveXObject){
       xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
   }else if(window.XMLHttpRequest){
       xmlHttp=new XMLHttpRequest();
   }
}

function funphp(url) {
   S_xmlhttprequest();
   xmlHttp.open("GET","for.php?id="+url,true);
   xmlHttp.onreadystatechange=byphp;
   xmlHttp.send(null);
}

function byphp() {
   if(xmlHttp.readyState==1){
       document.getElementById('php').innerhtml="<img src=loading.gif>";
   }
   if(xmlHttp.readyState==4){
       if(xmlHttp.Status==200){
           var byphp=xmlHttp.responseText;
           document.getElementById('php').innerHTML=byphp;
       }
   }

}

for.php:

<?php
$id=$_GET['id'];
for ($i=0;$i<3;$i++){
   
echo $i."$id<br>";
   
sleep(1);
   
//由于执行时间非常快,所以使用睡眠函数看效果
}






以上是关于Ajax+PHP打造等待进度条效果的主要内容,如果未能解决你的问题,请参考以下文章

java 做进度条 ajax实现 js jquery ext 都可以需要具体实现过程和代码 需要读取数据

Android 从无到有打造一个炫酷的进度条效果

jQuery Ajax进度条效果

Ajax实现带进度条的文件上传

PHP Ajax 上传进度条

php脚本通过ajax运行时显示进度条