2012-08-08 32 views
3

我,使頁面加載一個簡單的AJAX調用後...Ajax調用不打服務器使用後退按鈕

$(document).ready(function() { 
    $.get('', {'format': 'json'}, function(items) { 
     console.log('hello'); 
    } 
} 

如果我打的頁面上的鏈接,然後使用後退按鈕時,上面的代碼運行(它向控制檯輸出'hello'),但請求從不會訪問服務器,它只是使用它原來的響應,就好像它被緩存了一樣。

是否有可能強制它擊中服務器?

回答

4

如果使用$.ajax() method,那麼你可以設置cache:false。以下是你的$.get()通話相當於:

$.ajax({ 
    url: 'yourUrlHere', 
    data: {'format': 'json'}, 
    cache : false, 
    success: function(items) { 
    console.log('hello'); 
    }, 
    dataType: 'json' 
}); 

也可以爲所有的Ajax調用默認:

$.ajaxSetup({cache : false}); 
2

您可以配置您的站點不緩存ajax響應。

//jQuery 
$.ajaxSetup({ 
    cache : false 
}); 
1

這將阻止緩存...

$(document).ready(function() { 
    $.get('?'+(Math.random()*20), {'format': 'json'}, function(items) { 
     console.log('hello'); 
    } 
}