Как преобразовать объект в сериализованный объект в реагировать родной? - PullRequest
0 голосов
/ 11 октября 2018

У меня есть объект, похожий на ниже

const params = {
      token: '78fe6df3f',
      id: '12345',
      price: 0 - '9,000,000',
      'area[]': 'Applehead Island',
      'waterfront_type[]': 'Open Water',
      property_type_single: 'Single Family/Site Built',
      bedrooms: '0 - 5',
      baths: '0 - 5',
      sqft: '0 - 7500'
    };

Я хочу, чтобы этот объект был повернут, как показано ниже https://www.example.com/properties.php?token=78fe6df3f&id=12345&price=$0%20-%20$3,480,000&area[]=Applehead%20Island&waterfront_type[]=Open%20Water&property_type_single=Single%20Family/Site%20Built&bedrooms=0%20-%205&baths=0%20-%205&sqft=0%20-%207500 Как я могу получить это в реагировать родной.В javascript $.param(obj) делает эту работу.Пожалуйста, ведите меня.

Я хочу, чтобы вышеприведенное делало вызовы вызовов в ответном режиме.Объект будет сгенерирован формой фильтра.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018
function buildUrl(url, parameters){
  var qs = "";
  for(var key in parameters) {
    var value = parameters[key];
    qs += encodeURIComponent(key) + "=" + encodeURIComponent(value) + "&";
  }
  if (qs.length > 0){
    qs = qs.substring(0, qs.length-1); //chop off last "&"
    url = url + "?" + qs;
  }
  return url;
}

// example:
var url = "https://www.example.com/properties.php?";

const params = {
      token: '78fe6df3f',
      id: '12345',
      price: 0 - '9,000,000',
      'area[]': 'Applehead Island',
      'waterfront_type[]': 'Open Water',
      property_type_single: 'Single Family/Site Built',
      bedrooms: '0 - 5',
      baths: '0 - 5',
      sqft: '0 - 7500'
    };

console.log(buildUrl(url, params));

ссылка: Как создать строку запроса с Javascript

0 голосов
/ 11 октября 2018

const paramsToString = params => Object.entries(params).reduce((acc, [key, value], index, array) => `${acc}${key}=${encodeURIComponent(value)}${index !== (array.length - 1) ? '&' : ''}`, "");

const params = {
      token: '78fe6df3f',
      id: '12345',
      price: '0 - 9,000,000',
      'area[]': 'Applehead Island',
      'waterfront_type[]': 'Open Water',
      property_type_single: 'Single Family/Site Built',
      bedrooms: '0 - 5',
      baths: '0 - 5',
      sqft: '0 - 7500'
    };
    
console.log(paramsToString(params));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...