每次ajax的XMLHttpRequest.readyState返回0怎么解决,求教

yzx190235047 2012-09-23 09:34:29
function getMessage (data) {   
var num1 = Math.round(Math.random()*10000000);
var num = num1.toString().substr(0, 4);
var json = '{"sec":' + sec + ',"usec":' + usec + ',"toSec":' + toSec + ',"toUsec":' + toUsec + '}';
var param = "?JSON=" + json + "&type=getMessage" + "&rand=" + num;
$.ajax({ cache: false
, type: "GET"
, url: url + param
, dataType: "json"
, timeout : 20000
//, data: {"JSON" : json , "type": "getMessage", "rand": num}
, error: function (XMLHttpRequest, textStatus, errorThrown) {
if (textStatus == "timeout") {
getMessage(json);
}
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
, success: function (data) {
if (data.type == "getMessage") {
//$("#message").append("hello world" + "
");
$("#message").append(data.message + "
");
getMessage(json);
}
if (data.type == "noMessage") {
getMessage(json);
}
}
});
}


我写的是一个web聊天的功能

每次当 data.type == "getMessage" 然后再次调用 getMessage() 函数 再$.ajax 后 XMLHttpRequest.readyState 就返回 0

这是为什么啊。怎么解决啊???

谢谢各位大侠解答啊。
...全文
246 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没看出大什么问题,为0说明xhr对象只是实例化,还没有open而已,用jq框架应该不会出现回调传递一个刚初始化的xhr对象。

不过你这个请求太频繁了吧,请求完毕马上又发送请求了。。用setTimeout隔段时间再发送请求
yzx190235047 2012-09-24
  • 打赏
  • 举报
回复
试过还是一样呢。
[Quote=引用 2 楼 的回复:]

没看出大什么问题,为0说明xhr对象只是实例化,还没有open而已,用jq框架应该不会出现回调传递一个刚初始化的xhr对象。

不过你这个请求太频繁了吧,请求完毕马上又发送请求了。。用setTimeout隔段时间再发送请求
[/Quote]
yzx190235047 2012-09-23
  • 打赏
  • 举报
回复
有人能解答吗

52,800

社区成员

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

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