防止jQuery Mobile中的ajax缓存

Prevent ajax caching in jQuery Mobile

本文关键字:ajax 缓存 中的 Mobile jQuery 防止      更新时间:2023-09-26

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

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

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

PS。你可能会发现这个问题很相似,但并不相同:如何防止jQueryAjax缓存?

只需从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.');
  }
});