Подтвердить что ты не робот

Тип содержимого формы для json HTTP POST?

Просто хотел прояснить типы содержимого формы:

  • application/x-www-form-urlencoded: Здесь вы можете отправить параметры, закодированные с помощью URL.

  • multipart/form-data:

Мне нужно отправить JSON в сообщение (так что он будет иметь тип: text/x-json, я думаю). Итак, вопрос в том, подходит ли multipart/form-data для этой цели /<<20 > лучше?

Кроме того, можно ли отправлять некоторые параметры, закодированные в URL-адресе, и некоторые данные в json?

4b9b3361

Ответ 1

Похоже, что люди ответили на первую часть вашего вопроса (используйте приложение /json ).

Для второй части: совершенно правильно отправлять параметры запроса в HTTP-запрос POST.

Пример:

POST /members?id=1234 HTTP/1.1
Host: www.example.com
Content-Type: application/json

{"email":"[email protected]"}

Параметры запроса обычно используются в запросе POST для ссылки на существующий ресурс. В приведенном выше примере будет обновлен адрес электронной почты существующего элемента с идентификатором 1234.

Ответ 2

Я задавался вопросом то же самое. В принципе, похоже, что спецификация html имеет разные типы контента для html и данных формы. У Json только один тип содержимого.

Согласно спецификации, POST из json-данных должен иметь тип контента:
приложения /JSON

Соответствующая часть HTML-спецификация

6.7 Типы контента (типы MIME)
...
Примеры типов контента включают "text/html", "image/png", "image/gif", "video/mpeg", "текст/css" и "Аудио/базовый".

17.13.4 Типы содержимого формы
...
application/x-www-form-urlencoded
Это тип содержимого по умолчанию. Формы, представленные с этим контентом тип должен быть закодирован следующим образом

Соответствующая часть Спецификация JSON

  • Соображения IANA
    Тип мультимедиа MIME для текста JSON - application/json.

Ответ 3

multipart/form-data

используется, когда вы хотите загружать файлы на сервер. Подробнее см. в этой статье.