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;
}
}
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();
}
?>
if($id=$_GET[id]){
for($i=1;$i<10;$i++){
echo $i."$id<br>11";
sleep(1);
}
exit();
}
?>
上面的sleep(1);是用来每次循环控制间隔1秒