0

Spring-MVC Web ベースのアプリケーションで作業しています。私は Freemarker と JQuery を使用しています。@Freemarker、バックエンドに2回行く必要がある次のJQueryがあります。

 $(document).ready(function() {
    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    $.getJSON('[@spring.url '/vacation/loadResourceVacation'/]', function (data) {
      $.getJSON('[@spring.url '/vacation/loadPublicVacations'/]', function (returnedPublicVacation) {....

2 つの Java メソッドは次のとおりです。

 @RequestMapping(value = "/loadResourceVacation", method = RequestMethod.GET)
  public
  @ResponseBody
  String loadResourceVacation(HttpServletResponse response) throws Exception {

    // Convert to JSON string.
    String json = new Gson().toJson(myObject);

    // Write JSON string.
    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");

    return json;
  }


@RequestMapping(value = "/loadPublicVacations", method = RequestMethod.GET)
  public
  @ResponseBody
  String loadPublicVacations(HttpServletResponse response) throws Exception {

    // Convert to JSON string.
    String json = new Gson().toJson(someObj);

    // Write JSON string.
    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");

    return json;
  }

@Google Chrom、それは非常にうまく動作します。ただし、@ IE では、初めてページを読み込んだときに問題なく動作します。ページを再度ロードしようとすると、2 つのメソッドは呼び出されず、最初からキャッシュされます。

セッションを閉じて新しいセッションを開くと、2 つのメソッドが再度呼び出されます。どんな助けでも!!

4

1 に答える 1

1

jQueryのドキュメントには次のように書かれています。

キャッシュ-ブール値

デフォルト:true、dataType'script'および'jsonp'の場合はfalse

falseに設定すると、要求されたページがブラウザによってキャッシュされないように強制されます。キャッシュをfalseに設定すると、クエリ文字列パラメータ「_=[TIMESTAMP]」もURLに追加されます。

于 2012-12-16T19:27:04.560 に答える