本来是一个稳定的功能模块,一直没有问题,今天在测试数据的时候老是发现加载数据加载失败,从后台服务器的日志来看,数据已经处理完成,所以和后台服务器没有关系。通过firebug调试发现,这个ajax请求的status为Aborted,不知道什么问题导致Aborted这个非标准的状态。于是将store的autoLoad设置为false,然后为了调试方便在store.load方法中增加了一个callback函数,以便于在load结束返回数据的时候查看store对象的相关参数。数据加载后,发现statusText"communication failure",从表面上看只是通信失败,而同一个页面和对应控制器的其它ajax请求都没有问题,所以排除什么防火墙之类的问题。而且有时候又是成功的。这个时候就不太清楚到底是什么问题了。
后来突然想起会不会是超时造成ajax自动放弃,于是给这个store的model对象增加一个timeout参数未90000,测试后成功。不过还是有疑惑,因为这个系统中有的数据请求比这个store要多而且耗时更长,却没有问题,所以虽然这个问题是解决了,但是疑惑依旧存在。