10
votes

Définir le cache dans JQuery $ .post () pour être faux?

J'ai ce code:

$.post("php/tagNotifUnsub.php", $("#tagNotifUnsub").serialize(), function(){ 
            $('#tagSubDiv').load('tags.php #tagSubDiv', function(){$( "button, input:submit, input:button, a#jql, input:radio" ).button();});      
        });


0 commentaires

4 Réponses :


30
votes

$. POST n'est pas mis en cache.

Les pages récupérées avec la poste ne sont jamais mis en cache, donc le cache et ifmodified options dans jquery.ajaxsetup () n'ont pas effet sur ces demandes.

de http://api.jquerery.com/jquery.post/


1 commentaires

Eh bien, ce n'est pas tout à fait vrai, Safari sur iOS 6 a une demande postale mise en cache, c'est fou mais c'est vrai. [ Stackoverflow.com/Questtions/12506897/...



16
votes

Parteuse droite, Daniel A. Blanc !

sur les appareils exécutant iOS6 et Safari, la poste est également mise en cache.

Ce que vous pouvez faire est ce qui suit: xxx


0 commentaires

1
votes

Vous mentionnez $ .AJAX

Vous pouvez désactiver la mise en cache pour Ajax comme ceci: xxx


1 commentaires

J'utilise un appel AJAX GET AJAX et cela a finalement corrigé le problème. Pour une raison quelconque, certaines des demandes étaient en cours de cache et j'avais des données incorrectes.



0
votes

C'est un ancien problème qui semble apparaître de temps en temps et je me gratte toujours la tête. Cette solution résout le problème, mais elle peut ne pas convenir dans tous les cas car elle est en vigueur une caractéristique clé de Ajax - la fonctionnalité asynchrone. Cela dit et fait pour les cas où j'ai eu ce problème - Produits Apple et Safari Je vous regarde surtout - définir le paramètre supplémentaire de async: faux dans votre JQuery Ajax Demande corrige le problème et résout le problème "Aucune alerte sur la post-rappel".

Comme je l'ai dit si vous comptez absolument sur la fonctionnalité asynchrone, cela ne va pas vous aider, mais pour de nombreux projets, cela vous empêchera de tirer vos cheveux. xxx


0 commentaires