Ändere die URL bei einer Ajax-Anfrage

8

Ich möchte einige GET Parameter zur Seiten-URL hinzufügen. Ich lade Inhalt wie folgt:

%Vor%

Wie kann ich die URL so ändern, dass sie denselben Parameter ?categ=1 hat?

    
bliof 05.08.2011, 11:20
quelle

3 Antworten

11

Sie können die PushState-API verwenden, um dies zu erreichen. Jedoch unterstützen nur die neuesten Browser es und IE unterstützt es noch nicht einmal in IE9. Es gab keine Möglichkeit, dies vorher zu tun. Es gibt jedoch eine Konvention, dass Sie location.hash verwenden würden, um eine Seite anzugeben, deren Status durch eine Ajax-Anforderung geändert wurde. Weitere Informationen zur Verwendung von URL-Hashes zur Angabe des Status auf Ihrer Seite finden Sie unter das .

Es gibt eine Bibliothek History.js , die für den Übergang zu pushState verwendet werden kann. Die API ist der PushState-API sehr ähnlich, bietet jedoch transparent ein Hash-Fragment-Fallback, wenn der Browser pushState nicht unterstützt.

    
Daniel Baulig 05.08.2011, 11:35
quelle
3

Ihr Inhalt wird über AJAX geladen, daher sollte die Hash-Fragmentierung möglicherweise in der URL geändert werden - siehe Ссылка

    
andyb 05.08.2011 11:37
quelle
0

Sie können versuchen, die sichtbare URL mit der Methode pushState() zu bearbeiten (siehe Dokumentation , möchten Sie vielleicht auch über onpopstate event lesen.

Auf diese Weise können Sie die URL wie gewünscht ändern.

Eine Demonstration, wie Sie die URL ohne erneutes Laden der Seite ändern können, finden Sie hier: Ссылка

    
Tadeck 05.08.2011 11:35
quelle

Tags und Links