后端只调用一次

时间:2012-12-16 19:14:18

标签: javascript jquery internet-explorer spring-mvc freemarker

我正在研究基于Spring-MVC网络的应用程序。 我使用Freemarker和JQuery。 @ Freemarker,我有以下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个方法,而是从第一次开始缓存。

如果我关闭了会话并打开了一个新会话,则会再次调用这两个方法。 任何帮助!!

1 个答案:

答案 0 :(得分:1)

jQuery documentation说:

  

cache - Boolean

     

默认值:true,false表示dataType'script'和'jsonp'

     

如果设置为false,它将强制浏览器不缓存请求的页面。将cache设置为false还会将查询字符串参数“_ = [TIMESTAMP]”附加到URL。