我的网站是使用Ext JS 4.1框架和ASP .Net MVC v3制作的。当呈现新框架时,有19个单独的AJAX请求用于检索JSON格式的数据。所有请求都很熟悉,并由Ext.Ajax.request()完成。例如:request.xhr在Ext JS中未定义
Ext.Ajax.request({
url: getOrderLink,
method: "GET",
params: { recId: orderRecId },
headers: {
'Accept': 'application/json'
},
success: function (response) {
var order = Ext.decode(response.responseText);
...
}
});
在某些情况下,有在EXT-all.js错误在
onStateChange : function(request) {
if (request.xhr.readyState == 4) {
this.clearTimeout(request);
this.onComplete(request);
this.cleanup(request);
}
},
那里请求没有财产XHR使request.xhr.readyState抛出异常“无法读取属性“READSTATE “未定义”。 此错误不是针对所有请求显示的,也不会影响网站工作(成功检索响应)。有时候这个错误根本没有出现。所有请求的超时默认设置为30秒,每个请求大约需要1.5-2秒。 我正在使用谷歌浏览器21. 您能否介绍一下为什么会发生这种情况。
这真是连线。如果您查看Chrome开发人员工具的网络/ XHR标签,您是否100%确定所有网址都有效,所有服务器调用都毫无例外地返回,并且所有响应都返回正确的数据? – Izhaki 2012-08-15 00:58:47
大多数浏览器具有每个域约6个并发请求的上限。如果你一次发送所有19个请求,事情可能会失控。你可以尝试手动限制请求数量吗?说,发送下一个6之前等待6完成?不知道这是否能解决问题,但这是一个开始。 – Eric 2012-08-22 17:20:50
@Izhaki,Web开发者工具显示所有的URL都是正确的,并且在1.5秒之后获取最大响应。奇怪的是,只有7次的1次给出了这样的错误。其他是正常的。 – 2012-08-27 13:38:40