2010-08-25 3 views
0

Je travaille sur une table triable, qui est rafraîchie de manière asynchrone lorsque l'on clique sur les en-têtes de colonne. Les paramètres déterminant la colonne que je suis en train de trier et la direction sont stockés dans la chaîne de requête. La première fois que je clique sur l'en-tête, la table est triée par cette colonne ascendante, la deuxième fois elle est triée par ordre décroissant. Mais la troisième fois que je clique dessus, la colonne n'est pas triée dans la direction opposée, comme je m'y attendais. J'utilise jQuery pour gérer les requêtes asynchrones. Je peux voir que la demande de $ .get est frappée, et la fonction de rappel est exécutée quand la demande retourne. Je peux voir qu'une demande est envoyée au serveur et le HTML est retourné à la page, mais les points d'arrêt dans ma méthode d'action ne sont pas touchés.Comment empêcher la mise en cache de requêtes asynchrones?

Cela m'indique que le contenu que je veux régénérer est mis en cache et que le contenu mis en cache est retourné. Est-il possible pour moi d'empêcher le contenu en cache d'être renvoyé lorsque ces en-têtes de colonne sont cliqués?

.. juste pour noter, je n'ai rien spécifié pour OutputCaching. Est-ce activé par défaut en quelque sorte? Serait-ce le coupable ??

+0

Est-ce un seul navigateur? Notre ami IE fait des requêtes de cache malheureusement ... – ArtificialGold

+0

ouais, c'est dans firefox aussi .. mais si le navigateur mettait en cache la requête, cela ne signifierait-il pas que la fonction de rappel jQuery ne serait pas exécutée? – DaveDev

Répondre

0

Si vous utilisez le jQuery ajax() function, vous pouvez spécifier le paramètre "cache" et le définir sur false pour empêcher la mise en cache du navigateur.

$.ajax({ url: "test.html", cache: false, success: function(){ 
    // your code here 
}}); 
Questions connexes