Je développe une extension Firefox qui utilise une requête ajax pour récupérer des informations. C'est le code:jQuery Ajax cache désactivation ne fonctionne pas?
$.ajax({
url: "http://127.0.0.1/foo/bar/Service?wsdl" + new Date().getTime(),
beforeSend: function(request) { request.setRequestHeader("SOAPAction", "Group"); },
async: false,
cache: false,
type: "POST",
dataType: "xml",
data: req,
contentType: "text/xml; charset=\"utf-8\"",
success: function (data, textStatus, xmlHttpRequest) {
out = $(xmlHttpRequest.responseXML);
}
});
Je reçois toujours le même résultat lorsque les données envoyées au serveur sont modifiées. J'ai essayé d'éviter cela en ajoutant "new Date(). GetTime()" à l'URL et "cache: false". Cela ne semble pas fonctionner. Après avoir redémarré le navigateur, j'obtiens les bons résultats.
Est-ce que quelqu'un a une idée du problème? Existe-t-il une sorte de gestion de session pour que le serveur restitue l'ancienne réponse? Edit: J'ai fait beaucoup de test et de débogage et je pense avoir trouvé le problème: un cookie est enregistré avec chaque requête ajax qui contient un identifiant de session, donc chaque fois que je refais la demande, le serveur envoie les données de la session avec l'identificateur de session dans le cookie. Vraiment un mauvais comportement, je ne savais pas que les cookies pouvaient être créés via une requête ajax. Donc, tout ce que je dois faire pour résoudre le problème est une fonction qui supprime ce cookie chaque fois que mes paramètres sont modifiés. Merci encore pour votre aide.
avez-vous essayé l'une de ces suggestions? – kobe
Oui, j'ai essayé les deux suggestions maintenant (par le Dr Molle et par gov), mais le comportement est toujours le même. – Bob
est-il, faites-vous de la mise en cache sur le côté serveur? – kobe