2009-06-01 76 views
0

我有一個SharePoint Web部件,它從.ASHX頁面獲取XML數據,解析並使用JavaScript顯示它。一切正常,直到XML更改。當我在IE中查看Web部件時,只有在關閉瀏覽器之後纔會更新新數據。即使做一個CTRL-F5也不會獲取新的數據。如何在IE中刷新Web部件?

Firefox立即顯示新數據,只需簡單刷新頁面。

我在我的.ASHX頁面的查詢字符串中添加了一個時間戳記,以便XML結果不會被緩存,但這並不能解決我的IE問題。任何其他想法?

編輯
的.ashx的頁面使用API​​來訪問列表和正在建設的XML字符串,然後返回,作爲一個application/XML內容類型。我已確認XML已更新以反映列表中的新數據。在FireFox中顯示Web部分時,我也能看到消費的數據。

解決方案
我實際上是生成的時間戳追加到我的查詢服務器代碼,然後把該字符串中的JavaScript。一旦我將時間戳代碼移動到JavaScript,事情開始運行得更好。

+0

您是否打電話給.ashx頁POST或GET? – Chloraphil 2009-06-01 15:02:21

+0

我相信這是一個GET。 – 2009-06-01 16:05:24

回答

2

它最有可能被緩存,沒有其他合理的解釋爲什麼它可以在Firefox中使用,而不是在IE中使用。嘗試連續幾次重新加載IE。

檢查.ashx頁面設置的標頭。

這不僅僅是您的瀏覽器可能會緩存頁面,任何包括Web服務器的中間件都可能存在一個有缺陷的緩存實現。您也可以嘗試使用HTTP POST而不是GET,因爲根據HTTP規範,POST請求不應該被緩存。

1

它是一個自定義Web部件還是一個開箱即用的Web部件?如果您提供了有關如何從HttpHandler(ashx)中檢索數據的更多信息,它可以更容易地爲您提供幫助。

+0

這是一個自定義的網頁部分。 ASHX使用API​​逐步瀏覽SharePoint列表,並構建一些自定義XML供我的Web部件使用。 – 2009-06-01 14:45:06