我有一个类似http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235的URL。
我想获得不带查询字符串的URL: http://localhost/dms/mduserSecurity/UIL/index.php。
JavaScript中有没有这种方法?目前我正在使用document.location。href,但它返回完整的URL。
我有一个类似http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235的URL。
我想获得不带查询字符串的URL: http://localhost/dms/mduserSecurity/UIL/index.php。
JavaScript中有没有这种方法?目前我正在使用document.location。href,但它返回完整的URL。
当前回答
获取除了查询之外的URL的所有部分:
var url = (location.origin).concat(location.pathname).concat(location.hash);
注意,如果有哈希的话,这里也包括哈希(我知道示例URL中没有哈希,但为了完整起见,我包含了这个方面)。要消除散列,只需排除.concat(location.hash)。
使用concat将Javascript字符串连接在一起(而不是+)是更好的实践:在某些情况下,它可以避免类型混淆等问题。
其他回答
下面是一个使用URL()接口的方法:
new URL(location.pathname, location.href).href
阅读Window。location和location接口:
const urlPieces = [location.]协议,'//',位置。主机,location.pathname] let url = urlPieces.join(") console.log ({urlPieces、url})
试试这个:
让path = window.location. hrf .split('?')[0] console.log ({path})
var url = window.location.origin + window.location.pathname;
获取除了查询之外的URL的所有部分:
var url = (location.origin).concat(location.pathname).concat(location.hash);
注意,如果有哈希的话,这里也包括哈希(我知道示例URL中没有哈希,但为了完整起见,我包含了这个方面)。要消除散列,只需排除.concat(location.hash)。
使用concat将Javascript字符串连接在一起(而不是+)是更好的实践:在某些情况下,它可以避免类型混淆等问题。