Тип содержимого формы для json HTTP POST?
Просто хотел прояснить типы содержимого формы:
Мне нужно отправить JSON в сообщение (так что он будет иметь тип: text/x-json
, я думаю).
Итак, вопрос в том, подходит ли multipart/form-data
для этой цели /<<20 > лучше?
Кроме того, можно ли отправлять некоторые параметры, закодированные в URL-адресе, и некоторые данные в json?
Ответы
Ответ 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
используется, когда вы хотите загружать файлы на сервер. Подробнее см. в этой статье.