2009-06-01 15 views
0

私は.ASHXページからXMLデータを取得して解析し、JavaScriptを使用して表示するSharePoint Webパーツを持っています。 XMLが変更されるまで、すべてうまく動作します。 IEでWebパーツを表示すると、ブラウザを閉じるまで、新しいデータは更新されません。 CTRL-F5を実行しても新しいデータは取得されません。IEでリフレッシュするWebパーツを取得するにはどうすればよいですか?

Firefoxは簡単なページの更新だけで新しいデータをすぐに表示します。

私の.ASHXページのクエリ文字列にタイムスタンプを追加して、XML結果がキャッシュされないようにしましたが、IEの不具合を修正しませんでした。他のアイデア?

編集
.ASHXページは、その後application/XMLコンテンツタイプとしてあることを返す、リストにアクセスするためのAPIを使用しており、XML文字列を構築しています。私は、リスト内の新しいデータを反映するようにXMLが更新されていることを確認しました。 FireFoxに表示されているWebパーツで消費されたデータも見ることができます。

ソリューション
私は実際にサーバーのコードで私のクエリに追加するタイムスタンプを生成して、JavaScriptでその文字列を入れていました。私がタイムスタンプコードをjavascriptに移すと、物事ははるかに良くなった。

+0

.ashxページへの呼び出しはPOSTかGETですか? – Chloraphil

+0

私はそれがGETだと信じています。 –

答えて

2

これはキャッシュされている可能性が高いため、Firefoxでは動作し、IEでは動作しない理由は他にありません。 IEを複数回連続してリロードしてみてください。

.ashxページが設定するヘッダーを確認します。

これは、ページをキャッシュすることができるブラウザだけではなく、Webサーバーを含むミドルウェアに欠陥のあるキャッシュ実装がある可能性があります。また、HTTP仕様に従って、POSTリクエストを決してキャッシュするべきではないので、GETの代わりにHTTP POSTを使用することもできます。

+0

私はFiddler2をお勧めします:http://www.fiddler2.com/ – Chloraphil

1

カスタムWebパーツですか、すぐに使用できるWebパーツですか? HttpHandler(ashx)からデータを取得する方法に関する情報をさらに提供した場合は、より簡単に手助けすることができます。

+0

カスタムWebパーツです。 ASHXは、APIを使用してSharePointリストを処理し、Webパーツで消費されるカスタムXMLを構築します。 –

関連する問題