aktivieren der Zwischenspeicherung in jquery ajax
jQuery("#divProviders img").click(function (e) {
//alert(jQuery(this)[0].nameProp);
document.getElementById("TxtProvPic").value = jQuery(this)[0].getAttribute("src"); //jQuery(this)[0].nameProp;
$.ajax({
type: "GET",
url: "Services/TeleCom/EVoucher.aspx",
data: "ExtFlag=GetProducts&AjaxFalg=SpecialRequest&prov=" + jQuery(this)[0].id.replace("img_", "") + "&pcat=" + document.getElementById("Txhhc").value,
beforeSend: function () {
document.getElementById("DivProducts").innerHTML = "";
document.getElementById("DivLoad").innerHTML = "<img alt='' style='margin-left:300px;margin-top:80px;position:absolute;' src='App_Themes/VivaTheme/images/bigloading2.gif'/>";
},
cache: true,
success: function (data) {
var StrResponse;
StrResponse = data.split('@@@');
EvoucherFillProductsRes(StrResponse[0]);
},
error: function (xhr) {
alert("responseText: " + xhr.responseText);
}
});
function EvoucherFillProductsRes(res) {
var slices = res.split("*******");
document.getElementById("DivProducts").innerHTML = slices[0];
document.getElementById("DivMenu").innerHTML = slices[1];
document.getElementById("DivLoad").innerHTML = "";
jQuery("#BrowsableTwo").scrollable({
prev: 'a.prodprev',
next: 'a.prodnext'
}).navigator();
}
Habe ich diese Funktion wenn ich auf den link einen Inhalt gesetzt ist, um einen div-innerHTML-ich cache:true
attribute in die jquery-ajax-aber wenn ich Sie wieder auf den link "no-cache" angezeigt wird, ist die ajax-Funktion ist immer noch auf der server-Seite und erreichen für den gleichen Inhalt, ich bin verwirrt, ist cache:true
wirklich aktivieren, cache und was soll ich tun damit es funktioniert ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
cache:true
ist die Standardeinstellung und muss nicht immer um den Inhalt aus dem cache. Die cache-Fähigkeit von einem Punkt auf der browser wird bestimmt durch:Die Antwort-Header zurückgegeben, die von der Ursprungs-web-server. Wenn die Header anzuzeigen, dass
Inhalte sollten nicht zwischengespeichert werden, dann wird es nicht sein.
Einen validator wie ein ETag oder Last-Modified-header vorhanden sein muss, in der Antwort.
Vom dieser link
cache:false
hat einen weiteren use-case zu laden immer den Inhalt aus dem server-unabhängig davon, ob diese Inhalte zwischengespeichert ist oder nicht.Der Punkt hier ist: die cache-Fähigkeit wird durch den server bestimmt und
cache:true
odercache:false
des$.ajax
ist nur, um festzustellen, ob Sie für die zwischengespeicherte Antwort oder nicht.and there is a cache header, the browser will automatically cache it
Cache-Control
- header in der Antwortcache:false
wenn Sie möchten, laden Sie immer aktuellen Inhalt vom server