Как забрать все значения из GET-запроса и локального хранилища в JS

Рейтинг: 0Ответов: 1Опубликовано: 18.04.2023

Хочу избавиться от монотонного дублирования ниже кода, т.к. если нужен будет 2ой и 3ий параметр, то придется копипастить все ниженаписанное:

/*Создаю словарь-посредник между локальным хранилищем и GET-параметрах */
var all_get_param_obj = new Object();

/*тут сохраняю в локальное хранилище если есть нужный мне параметр в GET-запросе*/
first_get_param = getUrlParameter("first_get_param")
if (first_get_param) {
                        localStorage.setItem("first_loc_param", first_get_param);
                     }

/*тут беру из локального хранилище если он там есть*/
var first_loc_param = localStorage.getItem('first_loc_param');

/*тут кладу в словарь нужное мне значение, если оно есть локальном хранилище*/
if (first_loc_param){
    all_get_param_obj['first_loc_param'] = first_loc_param
}

Сам вопрос: Можно ли как-то от этого избавиться? Например, в питоне можно было бы так реализовать:

def get__all_getURL(request):
    dict_return = {
        k: v for k, v in request.args.items()
    }
    return dict_return if dict_return else None

Ответы

▲ 0Принят

Браузеры уже поддерживают итерацию по параметрам запроса:

let urlParameters = new URLSearchParams(document.location.search);
for (const [key, value] of urlParameters) {
    localStorage.setItem(key, value);
}