0

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

但是在下面的代码中,如果我替换 console.log("success"); 使用 console.log("成功 "+data); 并在 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 ");
                ...
                ...

谢谢

4

2 回答 2

2

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

如果设置为 false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为 false 仅适用于 HEAD 和 GET 请求。它通过将“_={timestamp}”附加到 GET 参数来工作。其他类型的请求不需要该参数,除非在 IE8 中对已由 GET 请求的 URL 进行 POST。

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

.....
})
于 2013-03-04T06:38:57.037 回答
0

就像@Ravi 所说的缓存特权是你的朋友。

你真的应该花更多的时间来研究你是首选武器! 链接=> 如果您搜索jquery ajax ,首先点击 google

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

例如:

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

来自堆栈答案

于 2013-03-04T06:43:32.833 回答