mettre à jour les paramètres dans l'URL avec history.pushState ()
Je suis l'aide de l'histoire.pushState d'ajouter quelques paramètres à l'URL actuelle de la page après avoir fait un appel AJAX sur ma page. Maintenant, sur la même page en fonction des actions de l'utilisateur, je veux mettre à jour l'URL de la page à nouveau avec le même ou un autre ensemble de paramètres. Donc, mon code ressemble à ceci:
var pageUrl = window.location.href + "?" + queryString;
window.history.pushState('','',pageUrl);
queryString est ma liste de requête params.
- Par exemple, par Défaut de Mon URL de la page: http://sample.com/
- Après le Premier appel AJAX sur la même page, l'URL devrait être: http://sample.com?param1=foo¶m2=bar
- Après le Deuxième appel AJAX sur la même page, l'URL peut être:
http://sample.com/?param1=foo,toto1¶m2=bar¶m3=another_foo
Mais avec le code ci-dessus mes params se sont ajoutés à l'URL avec les paramètres et ils ressemblent ci-dessous après le deuxième appel AJAX:
http://sample.com?param1=foo¶m2=bar¶m1=foo,foo1¶m2=bar¶m3=another_foo
Donc les paramètres apparaissent deux fois dans l'URL, est-il possible de remplacer les paramètres dans l'URL avant de pousser à l'Histoire ou tout autre meilleure façon d'atteindre cet objectif en javascript(jquery) ?
source d'informationauteur Kush
Vous devez vous connecter pour publier un commentaire.
Je pense que ce que vous avez besoin est de retirer fenêtre.emplacement.href et laisser '?' +
Cette fonction peut être utile
Modifier: La solution suivante est plus simple, et il fonctionne également si le paramètre n'est pas encore partie de l'URL. Cependant, il n'est pas pris en charge par Internet Explorer (tu ne le dis pas?).