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.

2voto

LI XiangChen Punkte 61

Wie wäre es damit: location.href.slice(0, - ((location.search + location.hash).length))

1voto

TheVillageIdiot Punkte 38840

Hier sind zwei Methoden:

<script type="text/javascript">
    var s="http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu
                                =true&pcode=1235";

    var st=s.substring(0, s.indexOf("?"));

    alert(st);

    alert(s.replace(/\?.*/,''));
</script>

1voto

Tudor Morar Punkte 3264

Sie können den URL-Konstruktor wie folgt verwenden:

const href = 'http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235'; // document.location.href
const url = new URL(href);
const noSearchUrl = href.replace(url.search, '');
console.log(noSearchUrl);

0voto

Fügen Sie einfach diese beiden Zeilen zu $(document).ready in JS wie folgt hinzu:

$(document).ready(function () {
 $("div.sidebar nav a").removeClass("active");
        $('nav a[href$="'+ window.location.pathname.split("?")[0] +'"]').addClass('active');
});

es ist besser, das Dollarzeichen ($) zu verwenden (Ende mit)

$('nav a[href$

anstelle von (^) (Beginn mit)

$('nav a[href^

denn wenn Sie das (^)-Zeichen verwenden und verschachtelte URLs im Navigationsmenü haben (z. B. "/account" und "/account/roles")

Sie werden beide aktiv.

0voto

BaiJiFeiLong Punkte 2187

window.location.href.split("#")[0].split("?")[0]

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