2012-10-13 45 views
0

我正在使用ExtJS 3.1.1。我在中心區域有一個標籤面板,在窗口的西部區域有另一個面板。在'beforeTabChange'事件中,我將刪除並向標籤面板和麪板添加新內容。當我使用tomcat服務器時,這在所有機器上都工作正常。當我使用JBoss服務器並從同一臺機器訪問時,沒有問題。但是當我從遠程計算機訪問部署在JBoss服務器上的戰爭時,從特定選項卡切換到其他選項卡時,我們需要在新選項卡上單擊兩次。第一次在新選項卡上點擊時,西面板的內容被清空,過程停在那裏。這不是瀏覽器問題或操作系統問題(我檢查過)。可能是什麼原因 ?需要關於ExtJS tabpanel奇怪行爲的幫助

+0

您確定這是關於應用程序服務器/ servlet容器的問題嗎?因爲這是javascript,實際上並不依賴於服務器端。嘗試檢查服務器提供響應後,瀏覽器中的JavaScript代碼。有什麼區別嗎?如果沒有區別,那不是服務器的問題。但是如果有的話,那麼你的部署可能在JBoss上有問題 –

+1

你能澄清一下,如果你正在beforeTabChange事件處理程序中進行任何ajax調用嗎?我強烈建議您使用webkit inspector/firebug,並在調試器中單步執行代碼,或添加調試代碼(console.log('here!'))樣式。 – cliftonc

+0

@Yasin:確定問題只出現在指定的情況下。通過螢火蟲檢查時沒有代碼更改。但是當我踩過螢火蟲時,它正在給「腳本運行很長時間」的信息。這在IE中不會發生。我沒有在beforetabchange中使用任何ajax調用 – ASN

回答

1

注意:如果這不回答問題,請不要投票或刪除(給版主)。我沒有足夠的聲望來分享上面的評論。

你需要增加Ext.Ajax.timeout或者更具體地說Ext.Ajax.requesttimeout值(見this)在合理的時間可以處理在遠程環境您的請求。

我已經實現了一個Ext.application來顯示我的Gmail郵件(使用JavaMail API)。爲網格提取數據與您描述的問題相同。在第一次調用時,在服務器端獲取郵件內容需要相當長的時間,因此網格將是空的。接下來的調用會在我緩存服務器端的內容時及時調出數據。

此外,有處理您的Ajax.request失敗,這可能有助於確定問題。