簡體   English   中英

使用jQuery / AJAX緩存問題

[英]caching issue with jQuery/AJAX

我通過$ .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 ");
                ...
                ...

謝謝

你可以設置緩存Cache 默認情況下,它將設置為cache = true。 來自DOCS

如果設置為false,它將強制瀏覽器不緩存請求的頁面。 注意:將緩存設置為false只能與HEAD和GET請求一起正常工作。 它的工作原理是將“_ = {timestamp}”附加到GET參數。 其他類型的請求不需要該參數,但在IE8中,對已經由GET請求的URL進行POST時除外。

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

.....
})

就像@Ravi所說的那樣,緩存專業是你的事。

你應該花更多的時間研究你的首選武器! 鏈接 =>如果你搜索jquery ajax,首先點擊谷歌

還有另一種防止緩存的方法。 只需將一些隨機數附加到您正在訪問的網址即可。

例如:

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

來自Stack的答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM