2015-12-14 57 views
0

我使用離線機架離線方法,但在我的一個js文件中,我需要避免緩存一個ajax調用,因爲同樣的js用於離線和在線。但在頁面重新加載時使用相同的緩存聯機時?有沒有其他方法可以避免緩存?阿賈克斯與離線緩存

$('#cSearch').keyup(function(e){ 
    var number = $(this).val(); 
    var urlVal = "/customer/get_details"; 
    $.ajax({ 
     cache: false, 
     url: urlVal, 
     data: {"term": number, t: Math.random() }, 
     success: function(){ 
     } 
    }); 

}); 

回答

1

您可以使用VAR來檢查系統是否已連接到網絡:

$('#cSearch').keyup(function(e){ 
    var number = $(this).val(); 
    var urlVal = "/customer/get_details"; 
    var cache = window.navigator.onLine ? false : true; // check if sys is online 
    $.ajax({ 
     cache: cache, // <-----use it here 
     url: urlVal, 
     data: {"term": number, t: Math.random() }, 
     success: function(){ 
     } 
    }); 
}); 
+0

感謝您的答覆@jai,但這裏的問題是,即使高速緩存是假的,它從緩存中取出,不會調用rails方法。此外,我試圖添加時間戳與網址,也無法正常工作。 – amtest

+0

得到了問題,這是請求方法的問題 – amtest