2017-04-26 50 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