Get path and query string from URL using javascript

I have this:

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

I want this:

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

how do i do this in javascript?

I tried window.location.href but it is giving me whole url
I tried window.location.pathname.substr(1) but it is giving me found-locations/

103741 次浏览

URI.js is a nice JavaScript library for parsing URIs. It can do what you requested with a nice fluent syntax.

Use location.pathname and location.search:

(location.pathname+location.search).substr(1)
window.location.pathname + window.location.search

Will get you the base url /found-locations plus the query string ?state=--&km=km

If your url is a string, you can create URL object and use pathname and search property.

 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);

get all path, query and even hash: location.href.replace(location.origin, '')