Q_BASIC
Хранитель порядка
- Регистрация
- 30 Ноя 2013
- Сообщения
- 516
- Реакции
- 1.240
- Автор темы
- #1
Приветствую,
Разыскиваю функцию кодировать объект/массив JS в URL параметры.
Полно ответов в гугле, но они не работают с вложенными массивами:
{x:{a:1, b:2}}
=>
x[a]=1&x[b ]=2
А массивы могут быть многоуровневые, то есть много уровней вложенности
Сам спросил, сам ответил:
Разыскиваю функцию кодировать объект/массив JS в URL параметры.
Полно ответов в гугле, но они не работают с вложенными массивами:
{x:{a:1, b:2}}
=>
x[a]=1&x[b ]=2
А массивы могут быть многоуровневые, то есть много уровней вложенности
Сам спросил, сам ответил:
Код:
function http_build_query(data)
{
let gTemp = [];
for(index in data)
{
if( Array.isArray(data[index]) || typeof data[index] === 'object')
{
let lTemp = [];
for(subIndex in data[index])
{
lTemp[index+'['+subIndex+']'] = data[index][subIndex];
}
gTemp[gTemp.length] = http_build_query(lTemp);
}
else
{
gTemp[gTemp.length] = index+'='+encodeURIComponent(data[index]);
}
}
return gTemp.join('&');
}
Последнее редактирование: