Ich habe eine URL wie http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235
.
Ich möchte die URL ohne die Abfragezeichenfolge erhalten : http://localhost/dms/mduserSecurity/UIL/index.php
.
Gibt es dafür eine Methode in JavaScript? Derzeit verwende ich document.location.href
, aber es gibt die vollständige URL zurück.
javascript
url
Heilige
quelle
quelle
Antworten:
Versuche dies:
window.location.href.split('?')[0]
quelle
#
Begriff in stackoverflow.com/questions/5817505#5817548 ). Sie müssten Regex verwenden oder mehrere .split () -Funktionen verwenden. Zu diesem Zeitpunkt haben Sie den Wert verloren, dass dies eine "einfache" Antwort beim Bereinigen einer URL ist. Zugegeben, dies geht technisch über den Rahmen der Frage hinaus, aber ich würde sagen, dass es immer noch relevant ist.Lesen Sie mehr über
Window.location
und dieLocation
Schnittstelle:quelle
${location.protocol}//${location.host}${location.pathname}
pathname
möglicherweise die führende fallen/
(bis IE 11?) . Ah, IE, immer eine Schneeflocke, nicht wahr?quelle
location.href.replace(location.search, '')
quelle
Wenn Sie auch Hash entfernen möchten, versuchen Sie Folgendes:
window.location.href.split(/[?#]/)[0]
quelle
Versuchen:
(NB:
.host
anstatt.hostname
dass der Port bei Bedarf auch einbezogen wird)quelle
Hier ist ein Ansatz unter Verwendung der URL () -Schnittstelle :
quelle
Schneiden Sie die Schnur einfach mit split (auf einfache Weise):
quelle
So rufen Sie jeden Teil der URL mit Ausnahme der Abfrage ab:
Beachten Sie, dass dies auch den Hash enthält, falls es einen gibt (ich bin mir bewusst, dass Ihre Beispiel-URL keinen Hash enthält, aber ich habe diesen Aspekt der Vollständigkeit halber aufgenommen). Um den Hash zu entfernen, schließen Sie ihn einfach aus
.concat(location.hash)
.Es ist besser
concat
, Javascript-Zeichenfolgen miteinander zu verbinden (anstatt+
): In einigen Situationen werden Probleme wie Typverwirrung vermieden.quelle
Verwenden Sie Eigenschaften von
window.location
Weitere Eigenschaften finden Sie unter https://developer.mozilla.org/en/DOM/window.location
quelle
Hier sind zwei Methoden:
quelle
Wie wäre es damit:
location.href.slice(0, - ((location.search + location.hash).length))
quelle
Fügen Sie diese beiden Zeilen einfach wie folgt zu $ (document) .ready in JS hinzu:
Es ist besser, das Dollarzeichen ($) zu verwenden (Ende mit).
anstelle von (^) (Beginnen mit)
denn wenn Sie das Zeichen (^) verwenden und verschachtelte URLs im Navigationsmenü haben (z. B. "/ account" und "/ account / role")
Es werden beide aktiv.
quelle
Wenn Sie dot net core 3.1 verwenden, wird die Route zum Ignorieren von Groß- und Kleinschreibung unterstützt. Daher ist der vorherige Weg nicht hilfreich, wenn der Router in Kleinbuchstaben geschrieben ist und der Benutzer den Router in Großbuchstaben schreibt.
Der folgende Code ist also sehr hilfreich:
quelle