2011-01-10 4 views
2

Comment gérer la navigation avec Jquery Ajax?JQuery Ajax avec bouton de retour

Par exemple. J'ai une page d'accueil. 2 lien ajax qui charge le contenu de page1 et page2. Je souhaite que l'URL soit: localhost/page1 ou localhost/page2. Je sais que c'est possible mais je ne connais pas le nom de cette fonctionnalité.

Des exemples codés seraient agréables.

<div id="nav"> 
    <a href="page1">Page 1</a> | <a href="page2">Page 2</a> 
</div> 
<div id="Container"></div> 

Répondre

0

Je suis juste guesing si vous cherchez une thiing comme ce

$("#nav>a").click(function(e){ 
$.get($(this).attr("href"),function(data){ 
    $("#Container").html(data); 
}); 
return false; 
}); 
+2

Ce n'est pas clair dans l'OP, mais à partir du titre, ils semblent vouloir la fonction du bouton retour. AFAIK ce code ne retournera pas le récipient à son état précédent en appuyant sur le bouton de retour. Est-ce que quelqu'un sait comment mettre en œuvre cela? – dwelch

2

Vous pouvez modifier la valeur window.location pour refléter vos changements de page.

Une fois que vous connaissez votre page, vous pouvez faire quelque chose comme ceci:

var location = window.location.toString(); 
var pageHash = "#" + page; 

if (window.location.hash == "") { 
    window.location = location + pageHash; 
} 
else { 
    window.location = location.substring(0, location.indexOf("#")) + pageHash; 
} 
+0

Désolé, j'ai enlevé le hachage, je J'aimerais que ça ressemble à une url. –

+0

Où dois-je mettre l'appel ajax pour récupérer le contenu? –

+0

en supprimant le # n'est pas ajax, vous allez simplement naviguer vers une autre page – hunter