スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

非同期通信の結果がキャッシュされる件について

作成した非同期通信サンプルの通信先をServletに変えてみたのですが、
返却テキストを変更してもそれが反映されませんでしたが
次の2点で解決しました。

(1) 送信はGETではなくPOSTで
(2) キャッシュ防止のヘッダ情報をセットする
以下がサーブレットの doPost() のサンプルです。(※簡略化しています)


doPost(HttpServletRequest request, HttpServletResponse response)
{
  // パラメタの取得(参考までに)
  String vParam = request.getParameter("a");

  // ContentTypeはUTF-8じゃないと日本語が文字化けしました
  response.setContentType("text; charset=UTF-8");

  // この3行でキャッシュの問題が解決しました

  response.addHeader("Cache-Control", "no-cache");
  response.addHeader("Pragma", "no-cache");
  response.addHeader("Expires", "0");

  // テキスト出力
  PrintWriter out = response.getWriter();
  out.println("日本語文字列");
  out.flush();
}
スポンサーサイト

コメントの投稿

非公開コメント

ブログ内検索
記事リスト
リンク
アーカイブ
RSSフィード
ブログ全記事表示

全ての記事を表示する

プロフィール

アール

Author:アール
育児休業中のプログラマーです。

最近の記事表示
最近のコメント
最近のトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。