使用jQuery / AJAX缓存问题

时间:2013-03-04 06:36:54

标签: ajax jquery caching

我通过$ .ajax多次获取数据。但是,每次调用都不会刷新数据。而是在每次调用$ .ajax时获得相同的数据。代码在我家正常工作。

但是在下面的代码中,如果我替换console.log(“success”);使用console.log(“成功”+数据);并在chrome控制台中观察,然后代码工作正常。我怀疑它是一个缓存问题,但可以解决它。

    function getDataJSON()
    {
        originalData="";
        new Date().toString();
        $.ajax({
            url: 'data.php',                  //the script to call to get data          
            data: "",                        //you can insert url argumnets here to pass to api.php
            success: function(data)         
            {
                console.log("success ");
                ...
                ...

由于

2 个答案:

答案 0 :(得分:2)

您可以设置缓存Cache。默认情况下,它将设置为cache = true。 来自DOCS

  

如果设置为false,则会强制请求的页面不被缓存   浏览器。注意:将缓存设置为false只能正常使用   HEAD和GET请求。它的工作原理是将“_ = {timestamp}”附加到   GET参数。其他类型的参数不需要   请求,但在IE8中,对已经存在的URL进行POST时除外   GET请求。

$.ajax({
url:'url',
cache:false,

.....
})

答案 1 :(得分:0)

就像@Ravi所说的那样,缓存原则是你受到了侮辱。

你应该花更多的时间研究你的首选武器! Link =>如果你搜索 jquery ajax

,首先点击谷歌

还有另一种防止缓存的方法。只需将一些随机数附加到您正在访问的网址即可。

例如:

        "www.url.com?" + new Date().getTime()
or
        "www.url.com?" + Math.random()

来自Stack answer