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

 

1 Ajxa 常见问题
 
(1) js 脚本缓存问题
       答:这个问题是大家遇到最常见问题之一,因为修改了 js 内容调试的时候
并不能显示新写代码的结果,是因为 js 为了加速页面执行,当前页面会使用缓存保持
当前调用的相同连接。为了开发时调试方便可以在连接地址的后面增加一个随机函数。
  如原地址: for.php   增加随机后 for.php?1293874
  (2) 本地调试 js 脚本不起作用
       答:因为使用 ajxa 传递参数的时候需要 head 支持,所以我们只有在站点下才可以
成功,比如我们放在 Apache 下面或者 IIS 下面进行调试。
 (3) 调试代码查找错误困难
      答:这是 js 调试存在已久的问题,简单点我们可以使用 ie 默认提示的错误框,还有
是我们可以使用 DW CS4 提供的纠正错误,或者通过专业的插件如: firbug
 
2 、方法 XHR.readyState 五种状态
 
XHR.readyState == 状态( 0 1 2 3 4
 
0 :请求未初始化 还没有调用 open()
1 :请求已经建立,但是还没有发送 还没有调用 send()
2 :请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
3 :请求在处理中;通常响应中已有部分数据可用了 ,没有全部完成。
4 :响应已完成;您可以获取并使用服务器的响应了。
 
3 、方法 XHR.status 常见的几种状态
 
XHR.status == 200 300 404
 
100 —— 客户必须继续发出请求
101 —— 客户要求服务器根据请求转换 HTTP 协议版本
200 —— 成功
201 —— 提示知道新文件的 URL
300 —— 请求的资源可在多处得到
301 —— 删除请求数据
404 —— 没有发现文件、查询或 URl
500 —— 服务器产生内部错误
 
4 、实例操作并学习一个 PHP 等待函数 Sleep
 
Sleep 函数,可以理解为等待函数或者睡眠函数,执行到该函数根据设置的时间
再继续往下执行
实例主要代码:
function byphp(){
 if(xmlHttp.readyState==1){
  document.getElementById('php100').innerHTML = "<img src='loading.gif'>";
  }
 if(xmlHttp.readyState==4){
 var byphp100 = xmlHttp.responseText;
 //这里php100和外面对应
 document.getElementById('php100').innerHTML = byphp100;
 }
 }
上面的xmlHttp.readyState就是控制状态
<?php
if($id=$_GET[id]){
 for($i=1;$i<10;$i++){
  echo $i."$id<br>11";
  sleep(1);
  }
  exit();
 }
?>
上面的sleep(1);是用来每次循环控制间隔1秒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值