我的網站是使用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