Force appel ajax pour vider le cache
J'ai un cms dans laquelle je peux changer les positions des objets. Après chaque changement de position appel ajax mises à jour de l'ensemble de la liste des objets. Mais, malheureusement, certains de données est stockée dans la mémoire cache et aucune modification n'est visible. Est-il un moyen de forcer effacer la mémoire cache avec javascript/de requête/d'autres ? J'ai essayé de "cache: false' dans $.ajax
mais cela ne fonctionne pas.
Voici un exemple de page :
http://ntt.vipserv.org/manage/playforward
Et mon js :
$(".object-position").livequery("change", function() {
$("#objects-list input").attr('disabled', true);
var action = $(this).attr('name');
var position = $(this).attr('value');
var id = $(this).attr("id");
var model = id.split("-")[0];
var object_id = id.split("-")[1];
$("#loader").show();
$("#loader").fadeIn(200);
$.ajax({
type: "POST",
async: true,
url: "/manage/update_position/",
data: "action=" + action + "&model=" + model + "&object_id=" + object_id + "&position=" + position,
dataType: "json",
success: function(data){
$("#loader").fadeOut("fast", function () {
$("#loader").hide();
});
$("objects-list").html(data["html"]);
$("#message").show();
$("#message").fadeIn(400).html('<span>'+data["message"]+'</span>');
setTimeout(function(){
$("#message").fadeOut("slow", function () {
$("#message").hide();
});
}, 1500);
}
});
$("#objects-list input").attr("disabled", false);
return false;
});
Vous devez vous connecter pour publier un commentaire.
Vous avez
Essayez plutôt ceci:
Aussi, on dirait que vous êtes en train de remplacer le contenu de la
.objects-list
table avec du code html qui inclut la<table>
élément lui-même. Donc, si vous voulez avoir<table...><table...>
, etc., après la.html()
contenu de remplacement.Ce
cache: false
n'est d'ajouter la date de la demande de données, de sorte que chaque demande est effectivement unique et, par conséquent, contourne le cache du navigateur. Je me demande si le fait que vous utilisez une chaîne de données, plutôt qu'un objet est à l'origine des problèmes ici. Essayez d'utiliser un objet à la place:Il suffit de remplacer
avec
pour forcer le rechargement de la page, ne pas utiliser le cache du navigateur.
"/manage/update_position/?nocache="+Math.random()
"?"
dans mon post original. Il doit avoir été:"/manage/update_position/?"+Math.random(),