Internet Explorer Cache asp.netmvc ajax résultats
Je vais avoir un problème avec une page dans internet explorer.
J'ai un appel ajax qui appelle une forme, en d'autres navigateur, lorsque je clique sur le lien, il passe dans le contrôleur, et de charger correctement les données. mais sous IE, lors de son chargement une fois, il aways m'apporte les mêmes résultats sans passer par le contrôleur.
- Double Possible de Inattendue de la mise en Cache de l'AJAX résultats dans IE8
Vous devez vous connecter pour publier un commentaire.
Essayer:
Cet attribut, placé dans la classe contrôleur, désactive la mise en cache. Depuis je n'ai pas besoin de mise en cache dans mon application, je l'ai placé dans mon BaseController classe:
Ici est belle description sur OutputCacheAttribute: Amélioration des Performances avec la mise en Cache de Sortie
Vous pouvez le placer sur une action trop.
Vous pouvez essayer le réglage de la
cache
option pourfalse
:Cette option force le navigateur à ne pas mettre en cache la demande.
Mise à JOUR:
Basé sur le commentaire que vous pourriez ajouter une unique horodatage de l'url pour éviter les problèmes de mise en cache:
Vous pouvez utiliser
HttpMethod = "POST"
sur votre AjaxOptionscomme cette exp;
J'ai blogué à propos de la fixation de l'IE problème de cache pour les deux jQuery et le MS de la bibliothèque du client:
http://yoavniran.wordpress.com/2010/04/27/ie-caching-ajax-results-how-to-fix/
Espérons que cette aide!
J'ai aussi trouvé cela très utile sur un similaire (mais pas identique) question.
http://forums.asp.net/t/1681358.aspx/1?Disable+cache+in+Ajax+ActionLink+extension+method+in+asp+net+MVC
Fondamentalement, assurez-vous que vous êtes à l'aide de POST plutôt que d'OBTENIR dans votre demande. Faire semble prévenir c'est à dire de la mise en cache.
Par exemple:
@Ajax.ActionLink("Clear Contacts", MVC.La maison.ClearContacts(), new AjaxOptions{HttpMethod = "POST", UpdateTargetId="targetDiv"})
Si vous êtes en utilisant de l'Ajax Helper, vous pouvez définir la
AllowCache
paramètrefalse
comme ceci:Et IE de ne pas mettre en cache les résultats de l'appel.
effectivement dans le navigateur IE cache pas clair automatiquement.
mais dans chrome scripts de travail acceptées.si vous avez besoin d'essayer pour
effacement des données au niveau du navigateur.