2017-04-26 51 views
1

我相信我的加載方法有時會緩存,我想禁用它。Jquery Ajax加載緩存

我目前使用:

function getClient(date, appId) { 

    $("#cPlaceholder").load("/GetClient?id=" + appId+", 
       function() { 
        $('#clientModal').modal('show'); 
       }); 
    } 

但我讀過,我應該使用ajaxSetup所以改爲..

function getClient(date, appId) { 
$.ajaxSetup ({ 
      url:"/GetClient?id=" + appId+", 
      cache: false, 
      success: function(result){ 
       ("#cPlaceholder").html(result); 
       $('#cPlaceholder').modal('show'); 
      } 
     }); 
} 

但是,這似乎並沒有執行? 任何想法?

+0

任何日誌?在XHR請求中你看到他們? –

回答

0

把它改回ajax;

$.ajax ({ 
      url:"/GetClient?id=" + appId, 
      cache: false, 
      success: function(result){ 
       $("#cPlaceholder").html(result); 
       $('#cPlaceholder').modal('show'); 
      } 
     }); 

Ajaxsetup在全球範圍內完成,因此您可以先運行;

$.ajaxSetup({ cache: false }); 

然後你的load()調用。但Ajaxsetup不會取代 ajax調用它只是設置將來使用的默認值。

P.S.你也有兩個錯別字;

url:"/GetClient?id=" + appId+", 

不應該有最後一個報價;

url:"/GetClient?id=" + appId, 

("#cPlaceholder").html(result); 

缺少在控制檯中的$

$("#cPlaceholder").html(result); 
+0

嘿,我應該把它放在腳本部分嗎?即

+0

@ D-W在實際的ajax調用之前,這確實是它會去的地方。不過,我強烈建議在單個ajax調用中使用cache:false,因爲如果您以後再向頁面添加另一個Ajax調用,並且希望它使用緩存,則可以防止發生這種情況。最好是明確的... – Milney

+0

@ D-W同時檢查你的錯別字 – Milney