web-dev-qa-db-fra.com

Existe-t-il une méthode permettant d’obtenir l’URL sans chaîne de requête?

J'ai une URL comme http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235.

Je veux obtenir l'URL sans la chaîne de requête: http://localhost/dms/mduserSecurity/UIL/index.php.

Existe-t-il une méthode pour cela en JavaScript? Actuellement, j'utilise document.location.href, mais l'URL complète est renvoyée.

237
saint

Essayez ceci: window.location.href.split('?')[0]

297
tradyblix

En savoir plus sur Window.location et l'interface Location :

_var url = [location.protocol, '//', location.Host, location.pathname].join('');
_
358
Felix Kling
location.toString().replace(location.search, "")
30
Quentin
var url = window.location.Origin + window.location.pathname;
8
Jason

Si vous souhaitez également supprimer le hachage, essayez celui-ci: window.location.href.split(/[?#]/)[0]

7
user1079877

Essayer:

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

(NB: .Host plutôt que .hostname afin que le port soit également inclus, si nécessaire)

5
Alnitak

il suffit de couper la corde en utilisant split (la méthode la plus simple):

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

Pour obtenir toutes les parties de l'URL à l'exception de la requête:

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

Notez que cela inclut également le hachage, s'il y en a un (je sais qu'il n'y a pas de hachage dans votre exemple d'URL, mais j'ai inclus cet aspect par souci d'exhaustivité). Pour éliminer le hachage, excluez simplement .concat(location.hash).

Il est préférable d’utiliser concat pour joindre des chaînes Javascript (plutôt que +): dans certains cas, cela évite des problèmes tels que la confusion des caractères.

2
Andrew Faulkner

Que diriez-vous de ceci: location.href.slice(0, - ((location.search + location.hash).length))

1
LI XiangChen

Voici deux méthodes:

<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>
1
TheVillageIdiot
<input type="reset" value="Reset" onclick = "window.location.href = location.href.split('?')[0]">
0
Mahmut Aydın

Voici une approche utilisant l’interface RL () :

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

Utiliser les propriétés de window.location

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

Vous pouvez voir plus de propriétés sur https://developer.mozilla.org/en/DOM/window.location

0
detaylor