Преобразование объекта в параметры запроса url

#javascript #angular #http #url-parameters

#javascript #угловой #http #url-параметры

Вопрос:

Что эквивалентно $httpParamSerializer(params) из angular 1 в angular 2?

Ответ №1:

Я не знаю о точном эквиваленте, но с URLSearchParams его помощью вы будете обрабатывать кодировку для вас. Отстой, это не позволяет вам просто передать объект, поэтому вам нужно сделать что-то вроде

 import { URLSearchParams } from '@angular/http';

let params = new URLSearchParams();
for (let key in someObj) {
  if (somObj.hasOwnProperty(key)) {
    params.set(key, someObj[key])
  }
}
 

Если все, что вам нужно, это строка по какой-то странной причине, просто позвоните params.toString() . В противном случае, если вы хотите передать его в Http запрос, просто выполните

 let options = new RequestOptions({ search: params });
http.get(url, options);
 

Строка запроса будет добавлена к URL-адресу в запросе GET, а в запросе POST вы можете установить ее в качестве тела

 http.post(url, params);