Кодировка строки запроса объекта Javascript - PullRequest
413 голосов
/ 11 ноября 2009

Знаете ли вы быстрый и простой способ кодирования объекта Javascript в string, который я могу передать через GET запрос?

Нет jQuery, никаких других фреймворков - просто Javascript:)

Ответы [ 33 ]

0 голосов
/ 03 марта 2019
const querystring=  {};

querystring.stringify = function (obj, sep = '&', eq = '=') {
  const escape = encodeURIComponent;
  const qs = [];
  let key = null;

  for (key in obj) if (obj.hasOwnProperty(key)) {
    qs.push(escape(key) + eq + escape(String(obj[key])));
  }
  return qs.join(sep);
};

Пример:

const a  = querystring.stringify({a: 'all of them', b: true});
console.log(a);  // Output: a=all%20of%20them&b=true
0 голосов
/ 30 мая 2019
const serialize = obj => Object.keys(obj).reduce((a, b) =>
    a.push(encodeURIComponent(b) + "=" + encodeURIComponent(obj[b])) && a,
    []).join("&");

Звоните:

console.log(serialize({a:1,b:2}));
// output: 'a=1&b=2

0 голосов
/ 12 января 2018

Вы также можете достичь этого, используя простой JavaScript .

const stringData = '?name=Nikhil&surname=Mahirrao&age=30';
    
const newData= {};
stringData.replace('?', '').split('&').map((value) => {
  const temp = value.split('=');
  newData[temp[0]] = temp[1];
});

console.log('stringData: '+stringData);
console.log('newData: ');
console.log(newData);
...