Ответ 1
Используйте location.pathname
и location.search
:
(location.pathname+location.search).substr(1)
У меня есть это:
http://127.0.0.1:8000/found-locations/?state=--&km=km
Я хочу это:
found-locations/?state=--&km=km
как это сделать в javascript?
Я пробовал window.location.href
, но он дает мне весь URL-адрес
Я пробовал window.location.pathname.substr(1)
, но он дает мне found-locations/
Используйте location.pathname
и location.search
:
(location.pathname+location.search).substr(1)
window.location.pathname + window.location.search
Вы получите базовый url /found-locations
плюс строку запроса ?state=--&km=km
URI.js - хорошая библиотека JavaScript для разбора URI. Он может делать то, что вы просили, с хорошим свободным синтаксисом.
Если ваш URL является строкой, вы можете создать объект URL
и использовать имя pathname
и свойство search
.
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);