У меня есть такой URL:
http://localhost/PMApp/temp.htm?ProjectID=462
Что мне нужно сделать, так это получить детали после ?
знака (строки запроса), то есть ProjectID=462
. Как я могу получить это с помощью JavaScript?
На данный момент я сделал следующее:
var url = window.location.toString();
url.match(?);
Я не знаю, что делать дальше.
javascript
query-string
АбдулАзиз
источник
источник
location.search
Ответы:
Взгляните на статью MDN о
window.location
.QueryString доступен в формате
window.location.search
.Решение, которое также работает в устаревших браузерах
MDN предоставляет пример (более недоступный в указанной выше статье) того, как получить значение одного ключа, доступного в QueryString. Что-то вроде этого:
В современных браузерах
В современных браузерах у вас есть
searchParams
свойство интерфейса URL, которое возвращает объект URLSearchParams . Возвращаемый объект имеет ряд удобных методов, в том числе get-метод. Таким образом, эквивалент приведенного выше примера будет:Интерфейс URLSearchParams также можно использовать для анализа строк в формате строки запроса и превращения их в удобный объект URLSearchParams.
Обратите внимание, что поддержка браузера в этом интерфейсе все еще ограничена, поэтому, если вам нужно поддерживать устаревшие браузеры, придерживайтесь первого примера или используйте полифил .
источник
encodeURIComponent/decodeURIComponent
вместоescape/unescape
getQueryStringValue
для устаревших браузеров не работает,?foo=bar&foo1=bar1
если мы попытаемся получить значение дляfoo
, она вернетсяempty string
.Используйте,
window.location.search
чтобы получить все после?
включения?
Пример:
источник
let querystring = window.location.search.substring(1);
источник
Это добавит глобальную функцию для доступа к переменным queryString в виде карты.
Наслаждаться.
источник
Если вы случайно использовать машинопись и есть дом в вашем в Lib из
tsconfig.json
, вы можете сделать:источник
Вы можете использовать эту функцию для разделения строки из? Id =
вот скрипка
источник
Вы можете использовать это для прямого поиска значения через имя параметра.
источник
источник
Вы можете использовать
search
свойствоwindow.location
объекта для получения части запроса URL-адреса. Обратите внимание, что он включает в себя вопросительный знак (?) В начале, на всякий случай, если это влияет на то, как вы собираетесь его анализировать.источник
Вам следует взглянуть на URL API, в котором есть вспомогательные методы для достижения этой цели, как
URLSearchParams
: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParamsВ настоящее время это поддерживается не всеми современными браузерами, поэтому не забудьте заполнить его полифилом (полифил доступен по https://qa.polyfill.io/ ).
источник
теперь у вас есть часть запроса в queryString
Первая замена удалит все пробелы, вторая заменит всю часть '&' на "", и, наконец, третья замена поместит ":" вместо знаков '='.
Допустим, у вас есть запрос вида abc = 123 & efg = 456 . Перед синтаксическим анализом ваш запрос преобразуется во что-то вроде {"abc": "123", "efg": "456"}. Теперь, когда вы это проанализируете, он выдаст вам ваш запрос в объекте json.
источник
Преобразуйте это в массив, затем разделите с помощью '?'
источник
источник
Попробуй это
Допустим, ваш URL - http: //example.com&this=chicken&that=sandwich . Вы хотите ценить то, то и другое.
Если вы хотите использовать URL-адрес, отличный от указанного в окне, вы можете передать его в качестве второго аргумента.
Ссылка
источник
Я думаю, что безопаснее полагаться на браузер, чем на какое-либо оригинальное регулярное выражение:
источник