2

我发现了与 jQuery 相关的类似问题。我的目标是弄清楚如何防止 jQueryMobile 和 PhoneGap 中的缓存(我使用 JSONP)。我正在做一些动态填充列表视图的 ajax 调用。每次初始化页面(pageinit)时,我都想查询 Web 服务。在我的 android 设备上,新查询后,每次我进入页面时都会将数据添加到列表视图中。它不会删除,每次我访问该页面时,我都会添加一个副本。我认为它与缓存有关。我在我的代码中添加了类似的内容:

$(document).bind('pageinit', function() {
    $.ajaxSetup ({
        cache: false
     });
});

它可以防止在我的 Chrome 和 Safari 浏览器中缓存,但它不适用于 Android 设备。如何防止在 Android 设备中缓存?

PS。您可能会发现这个问题类似,但又不一样: 如何防止来自 jQuery Ajax 的缓存?

4

1 回答 1

3

只需从Math.random函数创建一个随机值,并在每次发出 ajax 请求时将其作为参数发送。它将始终避免缓存。

var myRand = Math.floor((Math.random()*1000)+1);
$.ajax({
  url: 'ajax/test.html', para: myRand , 
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});
于 2012-09-11T07:14:47.783 回答