关于readystate==1状态下的ajax效果不能显示的问题的解决

在学习PHP和AJAX结合时,遇到一个进度条效果实现的问题。通过监测XMLHTTP请求的readystate,期望在readystate=1时显示等待图片,但在Chrome和Firefox中未能捕获此状态。解决方案是在`xmlHttp.send()`后立即处理readystate=1的状态。完整代码示例包括PHP和JS部分,适用于项目中添加进度条指示。
摘要由CSDN通过智能技术生成

最近想学一门新手艺,一直听说php学习快,开发也快,所以就马上找来教学视频来看,php100上的,别说学起来势必java快很多啊,好了,闲话不说,进入正题。

  今天在学习php和ajax结合运用的时候遇到了一个问题,现在我需要实现一个进度条的效果,就是在使用ajax异步刷新的时候如果等待时间长就出现一个等待的图片告知用户,主要的实现原理就是利用readystate的5中取值来实现,大家都知道readystate表示XMLHTTP请求的当前状态;

0 (未初始化)
对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化)
对象已建立,尚未调用send方法
2 (发送数据)
send方法已调用,但是当前的状态及http头未知
3 (数据传送中)
已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成)
数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据

可以利用readystate==1尚未调用send方法时的状态,在此时刻插入等待的图片,当readystate==4时,返回结果显示。但是在实际情况中却并不如意,我使用Chrome和Firefox都无法获取readystate==1的状态,从输出的情况看只有2,3,4的状态,以下是代码:

复制代码
var xmlHttp;
//获取XmlHttpRequest对象
function $_xmlhttprequest() {
    if(window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        xmlHttp = new XMLHttpRequest();
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值