Ajax调用,status偶尔会返回0的情况

RenoDean 2012-12-12 02:13:27
我们公司做了一个富客户端的web应用,全部的请求都是通过ajax去后台获取数据。最近出现了一个诡异的现象,在打开网页一段使用时,偶尔会出现status返回0的情况。大致有如下的症状

1,statua返回0,readystate也为0,responseText返回error
2,在某个Ajax返回0之后,后续的所有ajax请求全部都返回0
3,发现仅仅是ajax失效返回0,其他的js仍然能正常工作
4, 这个问题很难定位,又不能完美重现,一天之内大概出现2~3次,每次出现的地方和时机均不相同
5,360浏览器(也可能是IE内核系列的所有浏览器)最容易出问题,而且出现0之后,浏览器出现不能刷新的现象,无论是F5还是浏览器的刷新按钮
6, 在返回0之后,通过window.location.reload方式试图重新加载页面,但后续ajax请求仍然是0

大概就是以上的现象,我排查这个问题已经排查2天了,目前正处于崩溃的状态,求高手帮忙啊

另外,我认为可能会造成这种问题的原因
1,我们网站有两个setInterval不断向后台发送Ajax请求,一个间隔30s,另一个间隔60s,是不是因为这两个轮询的Ajax请求导致的问题呢?因为有时候什么都不操作,页面挂在那里10几分钟,也可能会出现0的情况

2,某些Ajax请求,会采用setTimeout的方式不断请求返回结果是否正确,正确了则清除clearTimeout,否则继续发送,是不是因为过多的setTimeout导致的呢?
...全文
1164 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cod丁 2014-05-15
  • 打赏
  • 举报
回复
ajax请求的url后面加上一个random参数,由于多次请求的url一致,所以server会返回304,浏览器ajax不认识304导致。
轩辕宏 2014-02-12
  • 打赏
  • 举报
回复
我今天也遇到了这个问题,我这个问题解释是这样的: 1、系统的中的session为null所引起的主要因素。 2、当ajax请求时遇到session的都会只进不出了(只调用未返回值),就是会出现status=0 3、当出现错误不能抛出处理时,就会进入global中,applicationEnd此时就是程序结束,ajax也将先一步退出,并调用ajax的errorCallback 谢谢,以上只是我个人遇到的情况,希望对你有用。
xiao_myth 2013-06-20
  • 打赏
  • 举报
回复
我也碰到了,公司用的用友portal,求解决方案啊,顺带鄙视下用友,太垃圾了,不管了
plzzz 2012-12-13
  • 打赏
  • 举报
回复
为什么不用socket,现在nodejs很火的说..前台用flash socket就是..
jeff_jiang 2012-12-13
  • 打赏
  • 举报
回复
调ajax的时候最好给个优先级吧 很多同时一起发起请求的话容易出错找不到问题, 能够放在callback里面就放那个里面按顺序加载数据吧。问题就容易找了。
RenoDean 2012-12-12
  • 打赏
  • 举报
回复
代码贴不出来啊,这是个整体的问题,关键就是无法定位到是哪里出了问题,感觉很随机的出现
吉普赛的歌 社区高级成员 T9 2012-12-12
  • 打赏
  • 举报
回复
贴代码吧,无码无真相
网络科技 2012-12-12
  • 打赏
  • 举报
回复
可能是某个调用ajax有问题,这个你要一个个排除了

87,910

社区成员

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

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