Ich muss die URL ändern, nachdem ich ein neues Fenster geöffnet und zu einem Status navigiert habe.URL in einer Winkelumgebung ersetzen
Meine Startseite sieht so aus:
localhost:8000/startpage.html
.
Beim Laden der URL wird
localhost:8000/startpage.html#/
.
Im neuen Fenster navigiere ich in einen neuen Zustand:
localhost:8000/startpage.html#/newstate
.
Ich möchte, dass die URL wie folgt aussieht:
localhost:8000/startpage.html?project=1#/newstate
. fast korrekte Ergebnisse, außer dass
Ich erhalte stattdessen die URL ersetzt vollständig fügt es
?project=1#/newstate
zu localhost:8000/startpage.html#/
.
So ist das Ergebnis etwas wie folgt aus:
localhost:8000/startpage.html#/%3Fproject=903%23/newstate
während das, was ich brauche, ist:
localhost:8000/startpage.html?project=903#/newstate
Hier einige relevante Code ist:
if ($window.history.replaceState) {
var newUrl = '?project=903' + '#/case';
$location.path(newUrl);
$location.replace();
};
mir scheint, ich zwei habe Probleme. Extra '# /' nach '.html' und die URL ist verschlüsselt. Denn selbst wenn ich extra '# /' entferne, funktioniert es immernoch nicht, wenn ich codierte Zeichen nicht durch echte ersetzen will. Bitte helfen.
Dank
es ist nicht wirklich klar, was Sie hier versuchen zu erreichen.das '#' bezeichnet den Teil, der von Angular behandelt wird, gegenüber dem Teil, der vom Server gehandhabt wird. Eine URL wie "localhost: 8000/startpage.html? Project = 1 #/newstate" schlägt vor, dass Sie "project = 1" an Ihren Server senden und eine neue Seite zurücksenden lassen möchten, die eine neue eckige App haben würde. welches dann auf den 'newstate' gerichtet wird. Das scheint ziemlich umständlich zu sein ... – Claies