如何在$ .getJSON()中传递`Cache:false`

时间:2015-04-13 06:32:50

标签: javascript jquery ajax backbone.js

我在IE 10中有一个ajax调用缓存问题。因为该解决方案是在ajax调用中传递cache: false。我面临着这个问题。我怎样才能通过Cache: false

$.getJSON(url , function(data){ //some code here }

4 个答案:

答案 0 :(得分:4)

试试这样:

$(document).ready(function() {
  $.ajaxSetup({ cache: false });
});

,即你需要调用jQuery.ajaxSetup()方法并将值false传递给cache属性,这将导致jQuery禁用ajax调用的缓存。

Jitesh回答here你可以试试这个:

$.ajaxSetup({ cache: true});
$.getJSON("/MyQueryUrl",function(data,item) {
     // do stuff with callback data
     $.ajaxSetup({ cache: false});
   });

答案 1 :(得分:3)

您无法将任何配置参数传递给$.getJSON。作为documentation状态,它是一个简写函数:

$.ajax({
  dataType: "json",
  url: url,
  data: data,
  success: success
})

因此,您可以使用该代码,然后设置cache: false或使用$.ajaxSetup全局设置。

答案 2 :(得分:1)

$(document).ready(function() {
  $.ajaxSetup({ cache: false });
});

OR:

$.ajax({
    type: "GET",
    cache: false,
    url: "yourURL",
    //other settings
    success: function(data) {
      //do something with data
    }
});

答案 3 :(得分:-1)

JSONObject  jsobj = new JSONObject();
JSONArray  jsobjs = new JSONArray();

我有类似的问题。我尝试了以上所有建议,但问题没有解决。然后我发现在我的servlet类中,我在类级别上面声明了两个对象。我在doPost()方法中移动了这些声明。  问题得到了解决。 !!!