1

OK、基本的にこれは私の問題です:

  • テーブルを含む動的ページがあります
  • ユーザーがクリックしてエントリを削除すると、エントリがデータベースから削除され、Ajaxを使用してテーブルが(コントローラーを介して)再ロードされます。
  • ただし、コンテンツが再フェッチされても、以前のバージョンのコンテンツが表示され続けます(ページが何らかの形でキャッシュされたかのように)。ページ全体をリロードすると、問題なく表示されます...

何が起こっているのでしょうか?

4

4 に答える 4

1

Chromeを使用していますか?

Chromeでajax呼び出しを使用すると、同様の動作が見られます。

jQueryを使用してajax呼び出しを行う場合は、属性cache:falseをメソッドajaxに使用して、この動作を回避できます。

于 2012-09-18T12:19:40.423 に答える
1

ajaxリクエストがクライアントにキャッシュされていないことを確認してください。jqueryを使用していると仮定すると、次の設定があります:http: //api.jquery.com/jQuery.ajax/これは魔法を実行します。

firebugまたはchromedevツールを使用して、リクエスト/レスポンスヘッダーを確認します。ブラウザにリクエストをキャッシュさせるようcache-controlなものがあるかもしれません。last-modified

サーバー側のキャッシュエンジンはありますか?

于 2012-09-18T12:53:10.600 に答える
1

キャッシュされた結果を取得していると思います。この問題を解決するためにリロードするデータを呼び出すときに、ajax呼び出しに一意のタイムスタンプを追加できます。

現在の時刻を表す数値を返す$.now関数を使用できます。

$("#someDiv").load("yourPage.php"+$.now());
于 2012-09-18T13:03:47.797 に答える
1

実際には、キャッシング関連の問題です。したがって、これを確実にするために、次のような新しいURIをエミュレートするだけです。

$.post("yourupdatepage.php?r="+(Math.random() * (1000 - 1) + 1), 
  ...
);
于 2012-09-18T13:07:14.927 に答える