我有一个使用jQuery和Ajax更改网站内容而不重新加载页面的网站。该网站包含我经常更改的内容。但是页面以某种方式保存在缓存中,因此它不显示更改。

我尝试了几种方法使浏览器不像META和PHP那样将网站保存到缓存中。但它不起作用。

我认为这与以下事实有关:该页面始终具有相同的URL,因此我考虑在其上添加一个随机数,例如:

window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);

(这不是我的代码,是通过googlin找到的),但这只会将我单击的链接ID添加到URL。我不知道在哪里放置“Math.random()”来添加随机数。

希望能对您有所帮助!

最佳答案

只需使用cache : false即可。 jQuery会自动为您在URL末尾添加一个时间戳,以确保永远不会缓存ajax请求。

引用 .ajax() 的API引用



例子

  • 全局禁用所有 future ajax请求的缓存。参见 .ajaxSetup()
    $.ajaxSetup({
      cache: false
    });
    
  • 禁用每个请求的缓存。参见 .ajax()
    $.ajax({
      url: "test.html",
      cache: false,
      success: function(html){
        $("#results").append(html);
      }
    });
    
  • 关于javascript - 在网址后添加随机数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7432361/

    10-17 02:56