Как сделать запрос на получение с URL-кодированным объектом в угловых? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть сложный объект:

{
valueA:'a',
value_array: {
   'v': {value:1, value:2},
   'v2': {value:1, value:2},
 }
}

Как я могу отправить его в запросе на получение в виде строки в кодировке URL в службе http angular?

Результатом должна быть строка запроса, котораяпредставляет вложенный объект json, похожий на этот:

api_call?value_list[585588558][sim_type]=existing&value_list[585588558][secondary_sim_type]=new&value_list[587788778][sim_type]=existing

Спасибо, Ярон

Ответы [ 4 ]

0 голосов
/ 18 июня 2019

Может быть, есть способ достичь этого с помощью углового класса, но мне удалось решить это с помощью внешнего пакета npm - 'qs'; Я устанавливаю пакет и затем:

import * as qs from 'qs';
const qsParams = qs.stringify(nestedJSON);
0 голосов
/ 17 июня 2019

Вы можете преобразовать объект в строку и отправить его на сервер, а затем снова преобразовать в объект.Пример -

JSON.stringify(objectName);

JSON.parse(objectString);

0 голосов
/ 17 июня 2019

Использование Angle's HttpUrlEncodingCodec класс для кодирования или декодирования параметров URL - это путь.

https://angular.io/api/common/http/HttpUrlEncodingCodec

0 голосов
/ 17 июня 2019

Вам просто не следует использовать GET для этого случая, попробуйте вместо этого использовать post .

...