J'ai un peu de problème avec mon site. J'ai une page qui héberge une carte Google. Cependant, la carte ne se présente pas tant que l'utilisateur clique sur un bouton. Il appelle ensuite $ .getjson pour obtenir les adresses que j'ai besoin de montrer sur la carte ... Tout fonctionne bien. Toutefois, si l'utilisateur passe ensuite à une page différente, puis clique sur le bouton Précédent, ils obtiennent les données de l'appel $ .gejson affichés, pas la page elle-même. P> C'est comme si l'appel à obtenir les adresses est devenu une partie de l'historique de navigation. Si l'utilisateur frappe une rafraîchissement lorsque les données apparaissent, la page complète s'affiche alors. P> Quelqu'un peut-il me dire comment arrêter cela de se produire. P> J'utilise le googlemap dans une ASP .NET MVC Site. P> Merci P> P>
3 Réponses :
Je l'ai résolu en incluant le code ci-dessous juste avant la fonction $ .ajax p>
$. ajaxsetup ({cache: faux}); p> blockQuote>
Ça marche! Essayez-le p>
Cet appel change le comportement de tous les appels vers AJAX sur la page. Cela pourrait conduire à un comportement très déroutant si vous n'êtes pas au courant.
Cela a fonctionné pour moi et joue bien avec les contrôleurs de rails: comme bonus, je peux garder le cache. p> Je suis sûr que cela fonctionne Pour la même raison que cache: FAUX code> fonctionne - Ajoutez un paramètre à l'URL afin que Chrome ne soit pas confondu par l'origine. Dans ce cas, je me cache les résultats, ce qui est agréable. p> p>
Ceci est en fait Un bogue en chrome . Je l'ai réparé en ajoutant quelque chose à l'URL de l'appel Ajax afin qu'il soit différent de l'URL de la page (par exemple, '& ajax = true').
Donc, dans votre cas, il ressemblerait à: P>
$.getJSON(theurl + '&ajax=true', function(json) {
...
}
WheeyLs Réponse a fonctionné pour moi Stackoverflow.com/a/12427812/1852292
Est-ce que vous modifiez l'historique du navigateur?
L'URL est-elle la même que la page? (c.-à-d. Changement entre HTML et JSON en fonction de si la demande est jugée XHR)
Bonjour, merci de vos réponses. Je ne modifie pas l'historique non, et oui, l'URL est la même, mais je vérifie si c'est une demande Ajax dans le code serveur de Teh afin que je sache, je sais que les données JSON et non la page.