Как сериализовать объект в список параметров запроса URL?

Как сериализовать объект в список параметров запроса URL?

Для одного уровня глубоко …

 var serialiseObject = function(obj) { var pairs = []; for (var prop in obj) { if (!obj.hasOwnProperty(prop)) { continue; } pairs.push(prop   '='   obj[prop]); } return pairs.join('{amp}amp;'); } 

jsFiddle .

Речь шла о рекурсивной функции для сколь угодно глубоких объектов …

 var serialiseObject = function(obj) { var pairs = []; for (var prop in obj) { if (!obj.hasOwnProperty(prop)) { continue; } if (Object.prototype.toString.call(obj[prop]) == '[object Object]') { pairs.push(serialiseObject(obj[prop])); continue; } pairs.push(prop   '='   obj[prop]); } return pairs.join('{amp}amp;'); } 

jsFiddle .

Это, конечно, означает, что контекст вложенности теряется при сериализации.

Если значения не являются URL-адресами, закодированными для начала, и вы собираетесь использовать их в URL-адресе, проверьте JavaScript encodeURIComponent() .

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector