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 = "";
  }
 if(xmlHttp.readyState==4){
 var byphp100 = xmlHttp.responseText;
 //这里php100和外面对应
 document.getElementById('php100').innerHTML = byphp100;
 }
 }
上面的xmlHttp.readyState就是控制状态
if($id=$_GET[id]){
 for($i=1;$i<10;$i++){
  echo $i."$id
11";
  sleep(1);
  }
  exit();
 }
?>
上面的sleep(1);是用来每次循环控制间隔1秒

你可能感兴趣的:(php学习,php,ajax,服务器,脚本,function,apache)