J'utilise ajax pour charger le contenu de mon site Web et je souhaite mettre à jour l'emplacement de la fenêtre lorsque ajax a réussi.
Comment puis-je mettre à jour l'emplacement de la fenêtre sur "/ newpage"? J'ai besoin que les utilisateurs puissent revenir en arrière et se rafraîchir. Est-ce possible??
Je suppose que vous utilisez jQuery pour passer l'appel AJAX afin que vous puissiez le faire assez facilement en plaçant la redirection dans le succès, comme suit:
$.ajax({
url: 'ajax_location.html',
success: function(data) {
//this is the redirect
document.location.href='/newpage/';
}
});
Vous pouvez définir la valeur de document.location.href
à cette fin. Il pointe vers l'URL actuelle. jQuery n'est pas obligé de faire cela.
vous pouvez utiliser les nouvelles fonctions d'état Push/pop dans l'API de manipulation de history .
En supposant que vous souhaitiez changer l'URL en une autre dans le même domaine, vous pouvez utiliser ceci:
history.pushState('data', '', 'http://www.yourcurrentdomain.com/new/path');
J'écris une fonction commune pour la fenêtre de changement
ce code peut être utilisé en parallèle dans tout type de projet
function changewindow(url,userdata){
$.ajax({
type: "POST",
url: url,
data: userdata,
dataType: "html",
success: function(html){
$("#bodycontent").html(html);
},
error: function(html){
alert(html);
}
});
}
Si vous souhaitez utiliser le bouton de retour, vérifiez ceci. https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin
Utilisez document.location.href pour modifier l'emplacement de la page, placez-le dans la fonction lors d'une exécution réussie en ajax.