77

我有这个:

http://127.0.0.1:8000/found-locations/?state=--&km=km

我要这个:

found-locations/?state=--&km=km

我如何在javascript中做到这一点?

我试过window.location.href了,但它给了我
我试过的整个网址,window.location.pathname.substr(1)但它给了我found-locations/

4

5 回答 5

108

使用location.pathnamelocation.search

(location.pathname+location.search).substr(1)
于 2013-05-04T16:30:22.187 回答
51
window.location.pathname + window.location.search

将为您提供基本网址/found-locations和查询字符串?state=--&km=km

于 2013-05-04T16:31:13.797 回答
10

如果您的 url 是一个字符串,您可以创建URL对象并使用pathnamesearch属性。

 let strurl = 'http://www.test.com/param1/param2?test=abc';
 let url = new URL(strurl)
 let pathandQuery = url.pathname + url.search;

let strurl = 'http://www.test.com/param1/param2?test=abc';
let url = new URL(strurl)
let pathandQuery = url.pathname + url.search;

console.log(pathandQuery);

于 2019-07-02T04:12:32.840 回答
6

获取所有路径、查询甚至哈希:location.href.replace(location.origin, '')

于 2020-11-07T10:19:57.790 回答
4

URI.js是一个很好的用于解析 URI 的 JavaScript 库。它可以用流畅的语法完成你所要求的事情。

于 2013-05-04T16:29:22.477 回答