Как разобрать строку запроса в объект в JavaScript?
Порой в JavaScript бывает необходимо разобрать строку запроса на составляющие. Это можно сделать разными способами, один из них я покажу далее. Допустим у нас такой url-адрес:
https://srs.myrusakov.ru/order?product_ids=31&is_digit=1&country_id=1&pm_id=3&key=2qt3akj
получить нам нужно вот это:
{
country_id: "1",
is_digit: "1",
key: "2qt3akj",
pm_id: "3",
product_ids: "31"
}
сам скрипт:
function convertQueryParamsToObject(queryString) {
var params = queryString.substr(1).split('&'); // строка запроса без знака ?
var dict = {}, i, param; // объект, в который будем сохранять параметры
if (params !== "") {
for (i = 0; i < params.length; i += 1) {
param = params[i].split('='); // преобразуем ключ=значение в массив [ключ,значение]
if (param.length === 2) {
dict[param[0]] =
decodeURIComponent(param[1].replace(/\+/g, " ")); // декодируем значение параметра, походу преобразуя все знаки + в пробелы
}
}
}
return dict;
}
Вызываем так:
var params = convertQueryParamsToObject(document.location.search)
console.log(params.key)
Вот так просто можно преобразовать строку запроса в удобный для разбора объект.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.