jquery报'J.readyState' 为空或不是对象

hfhwfw 2010-07-16 02:11:03
用jquery做了一个省市联动,不过操作频繁的时候老报:'J.readyState' 为空或不是对象,不知大家有没有什么好的解决方案!

附代码:
<script language="javascript" src="<%=request.getContextPath()%>/js/jquery.min.js"></script>

<html:select property="telecomAHisBO.province" title="省份" onchange="getCity();" styleId="Y_str_telecomAHisBO.province" style="width:154px">
<html:option value="">请选择</html:option>
<html:options collection="provinceList" property="provinceCode" labelProperty="provinceName"/>
</html:select>

//变换省份对应的城市
function getCity(){
var provinceCode = document.all('telecomAHisBO.province').value;
document.all('cityDiv').innerHTML='<select name="telecomAHisBO.city" title="城市" style="width:154px"><option value="">请选择</option></select> ';
if(provinceCode!=''){
alert("url: " + '<%=request.getContextPath()%>/business/webSingle.do?operate=getCity&provinceCode='+provinceCode);
$.ajax({
url: '<%=request.getContextPath()%>/business/webSingle.do?operate=getCity&provinceCode='+provinceCode,
type: 'POST',
timeout: 1000,
success: function(data){
var str = '<select name="telecomAHisBO.city" title="城市" style="width:154px"><option value="">请选择</option>';
if(data!=''){
var res = data.split(",");
for(i=0;i<res.length;i++){
str = str + '<option value="'+res[i]+'">'+res[i]+'</option>';
}
str = str + '</select> ';
document.all('cityDiv').innerHTML=str;
}
}
});
}
}
...全文
752 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
丁码农 2012-01-18
  • 打赏
  • 举报
回复
自己去手写吧
abuying 2012-01-09
  • 打赏
  • 举报
回复
The error message " 'J.readyState' is null or not an object " occurs
on jquery.js:
....... if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function
(X){if(J.readyState==0){if(P){clearInterval(P); .......
So I have to add " J != null&& " before " J.readyState==0 "

修改了jquery-1.3.2.min.js中的第19行,
在J.readyState前加上判断J!=null,
可能是由于jquery的错误吧。
Go 旅城通票 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用2 楼 kyzy_yy_pm 的回复:]
ajax在频繁操作的时候造成的,我也有过,估计是堵塞了,上个请求还没完成又进行了下一次的请求了
[/Quote]

觉得也是jq没处理好ajax并发请求的问题。以前写过一个聊天室会出现并发的,导致ff下出问题。你用的是jq框架,又不好改代码,╮(╯▽╰)╭晕了~

以前碰到的问题解决办法
firefox下XMLHttpRequest重用时nsIXMLHttpRequest.send发生错误的解决方案
kyzy_yy_pm 2010-07-16
  • 打赏
  • 举报
回复
将outime设置大一点看看
kyzy_yy_pm 2010-07-16
  • 打赏
  • 举报
回复
ajax在频繁操作的时候造成的,我也有过,估计是堵塞了,上个请求还没完成又进行了下一次的请求了
hoojo 2010-07-16
  • 打赏
  • 举报
回复

readyState为null,readyState是ajax方法中的状态
你把tiemout去掉试试看
不行换成$.post()试试

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧