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.
Essayez ceci: window.location.href.split('?')[0]
En savoir plus sur Window.location
et l'interface Location
:
_var url = [location.protocol, '//', location.Host, location.pathname].join('');
_
location.toString().replace(location.search, "")
var url = window.location.Origin + window.location.pathname;
Si vous souhaitez également supprimer le hachage, essayez celui-ci: window.location.href.split(/[?#]/)[0]
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)
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]);
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.
Que diriez-vous de ceci: location.href.slice(0, - ((location.search + location.hash).length))
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>
<input type="reset" value="Reset" onclick = "window.location.href = location.href.split('?')[0]">
Voici une approche utilisant l’interface RL () :
new URL(location.pathname, location.href).href
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