Как отправить данные формы в выборку, где значения являются строками?

Я пытаюсь PUT следующие данные: {value: false}, Я использую isomorphic-fetch и отправляю следующее: JSON.stringify({value: false}), Проблема в том, что сервер ожидает, что все значения будут строками. Я попытался использовать FormData и отправить его, но сервер почему-то не понимает.

Мне лучше попробовать использовать заменитель в JSON.stringify, который выводит все значения в виде строк? Или есть способ заставить FormData возвращать NVP вместо этого, куда я отправляю это? Просто ищу фрагмент по предпочтительному подходу.

2 ответа

Вы можете просто просмотреть все значения в объекте, который вы собираетесь передать, и вызвать toString() для них перед тем, как приступить к строковому форматированию.

Я решил просто использовать URLSearchParams() и избегайте обработки пустых значений и массивов при использовании toString.

let qs = new URLSearchParams();

for (let i in data) qs.append(i, data[i]);

const result = qs.toString();

Или объекты wish-js-had-лучше-неизменяемые:

const result = Object.keys(data).reduce((p, c) => {
  p.append(c, data[c]);

  return p;
}, new URLSearchParams()).toString();
Другие вопросы по тегам