这是在Chrome中提示的错误
IE中提示为:完成该操作所需的数据还不可使用。
出现场景:
在使用jQuery的ajax且网络很慢、设置了timeout的情况下,直接不判断ajax的readyState而直接取responseText将出会错(此时xhr对象可能只有两个属性可用:
responseXML、readyState)。
例如如果使用Ext+jQuery进行的开发中,ext-jQuery-adapter-debug.js中的代码有:
在jquery回调的时候,它调用 createResponse方法,而在createResponse方法中并未进行检测。
jQuery中的ajax并未监听ajax对象的onreadystatechange,而是使用定时器setInterval去检测它的状态readyState或是直接传入timeout将视为请求结束。对使用timeout结束的请求,它调用其abort方法,取消请求。
其中ival类似于系统调用了onreadystatechange方法。
提示,在使用ajax在进行处理结果的时候,需要先判断它的readyState和status两个值。不然容易出错