Можете ли вы использовать JSON .stringify или формат URL в JS fetch () поле 'body'? - PullRequest
1 голос
/ 03 февраля 2020

При использовании fetch() я видел, как люди пишут в поле body либо body: JSON.stringify(...), либо body: prop1=val1&prop2.... Оба эквивалентны?

1 Ответ

0 голосов
/ 03 февраля 2020

Для fetch разрешены оба варианта. Для MDN тело может быть:

объектом Blob, BufferSource, FormData, URLSearchParams, USVString или ReadableStream. Обратите внимание, что запрос, использующий метод GET или HEAD, не может иметь тела.

В вашем случае, предполагая, что body: prop1=val1&prop2 является опечаткой, и вы имели в виду body: 'prop1=val1&prop2', оба метода разрешены, поскольку оба помещая строки в свойство body, и строки (USVString s) разрешены там.

Конечно, вы также должны убедиться, что сервер, отправляющий запрос, должен иметь возможность его проанализировать. (Сервер может ожидать только параметра строки запроса, или он может ожидать только JSON, или он может анализировать оба, или он может не анализировать ни один из них)

...