2017-04-26 11 views
1

Ich glaube, meine Lade-Methode ist manchmal Caching und ich möchte dies deaktivieren.Jquery Ajax Load Cache

Ich bin derzeit mit:

function getClient(date, appId) { 

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

Aber ich habe gelesen, dass ich so ..

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

Aber dies scheint nicht auszuführen geändert verwenden ajaxSetup sollte? Irgendwelche Ideen?

+0

alle Logs in der Konsole? in XHR-Anfrage sehen Sie sie? –

Antwort

0

Ändern Sie es zurück zu nur Ajax;

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

Ajaxsetup macht es global, also könnten Sie zuerst laufen;

$.ajaxSetup({ cache: false }); 

Dann rufen Sie Ihre load(). Aber Ajaxsetup nicht ersetzen der Ajax-Aufruf es legt nur die Standardeinstellungen in zukünftigen verwendet werden.

P.S. Sie haben auch zwei Tippfehler;

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

sollte nicht das letzte Zitat haben;

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

und

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

fehlt die $

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

Hey, sollte ich das nur in den Skriptbereich schreiben? dh

+0

@ D-W Das ist in der Tat, wo es gehen würde, vor dem eigentlichen Ajax-Aufruf. Ich empfehle jedoch sehr, den Cache zu verwenden: false innerhalb des einzelnen Ajax-Aufrufs, denn wenn Sie später einen weiteren Ajax-Aufruf zur Seite hinzufügen und wollen, dass er den Cache verwendet, verhindert dies, dass dies geschieht. Am besten, explizit zu sein ... – Milney

+0

@ D-W Überprüfen Sie auch Ihre Tippfehler – Milney