1. 程式人生 > >ExtJS中store自動載入資料的時候,在firebug下http status為Aborted時的處理方法

ExtJS中store自動載入資料的時候,在firebug下http status為Aborted時的處理方法

本來是一個穩定的功能模組,一直沒有問題,今天在測試資料的時候老是發現載入資料載入失敗,從後臺伺服器的日誌來看,資料已經處理完成,所以和後臺伺服器沒有關係。通過firebug除錯發現,這個ajax請求的status為Aborted,不知道什麼問題導致Aborted這個非標準的狀態。於是將store的autoLoad設定為false,然後為了除錯方便在store.load方法中增加了一個callback函式,以便於在load結束返回資料的時候檢視store物件的相關引數。資料載入後,發現statusText"communication failure",從表面上看只是通訊失敗,而同一個頁面和對應控制器的其它ajax請求都沒有問題,所以排除什麼防火牆之類的問題。而且有時候又是成功的。這個時候就不太清楚到底是什麼問題了。

後來突然想起會不會是超時造成ajax自動放棄,於是給這個store的model物件增加一個timeout引數未90000,測試後成功。不過還是有疑惑,因為這個系統中有的資料請求比這個store要多而且耗時更長,卻沒有問題,所以雖然這個問題是解決了,但是疑惑依舊存在。