356 Stimmen

Gibt es eine Methode, um die URL ohne Abfragezeichenfolge zu erhalten?

Ich habe eine URL wie http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235 .

Ich möchte die URL ohne den Query-String erhalten: http://localhost/dms/mduserSecurity/UIL/index.php .

Gibt es dafür eine Methode in JavaScript? Derzeit verwende ich document.location.href aber er gibt die vollständige URL zurück.

17voto

s4y Punkte 48459

Hier ist ein Ansatz, der die URL()-Schnittstelle :

new URL(location.pathname, location.href).href

6voto

Alnitak Punkte 324207

Versuchen Sie es:

document.location.protocol + '//' +
document.location.host +
document.location.pathname;

(NB: .host statt .hostname damit auch der Hafen einbezogen wird, falls erforderlich)

6voto

Andrew Faulkner Punkte 3372

Um alle Teile der URL außer der Abfrage zu erhalten:

var url = (location.origin).concat(location.pathname).concat(location.hash);

Beachten Sie, dass dies auch den Hash einschließt, wenn es einen gibt (ich weiß, dass es in Ihrer Beispiel-URL keinen Hash gibt, aber ich habe diesen Aspekt der Vollständigkeit halber aufgenommen). Um den Hash zu eliminieren, schließen Sie einfach .concat(location.hash) .

Es ist besser, die folgenden Methoden zu verwenden concat um Javascript-Zeichenketten miteinander zu verbinden (anstelle von + ): In manchen Situationen lassen sich so Probleme wie Verwechslungen vermeiden.

5voto

pleasedontbelong Punkte 18882

Schneiden Sie die Schnur einfach mit Split durch (die einfache Art):

var myString = "http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235"
var mySplitResult = myString.split("?");
alert(mySplitResult[0]);

2voto

detaylor Punkte 6986

Verwenden Sie Eigenschaften von window.location

var loc = window.location;
var withoutQuery = loc.hostname + loc.pathname;
var includingProtocol = loc.protocol + "//" + loc.hostname + loc.pathname;

Weitere Immobilien finden Sie unter https://developer.mozilla.org/en/DOM/window.location

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X