表单json HTTP POST的内容类型?

rmk*_*rmk 25 forms json http

只想澄清表单内容类型:

  1. application/x-www-form-urlencoded:这是您可以发送使用url编码的params的地方.

  2. multipart/form-data:??

我需要在帖子中发送一个JSON(所以它会有类型:text/x-json,我猜).所以问题是,multipart/form-data适合这个目的/ application/x-www-form-urlencoded更好吗?

另外,是否可以发送一些在url中编码的params,以及json中的一些数据?

Her*_*III 25

看起来人们回答了你问题的第一部分(使用application/json).

对于第二部分:在HTTP POST请求中发送查询参数是完全合法的.

例:

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

{"email":"user@example.com"}
Run Code Online (Sandbox Code Playgroud)

查询参数通常在POST请求中用于引用现有资源.上面的示例将更新ID为1234的现有成员的电子邮件地址.


use*_*447 5

我也想知道同样的事情.基本上,似乎html规范具有不同的html和表单数据的内容类型.Json只有一种内容类型.

根据规范,json数据的POST应该具有content-type:
application/json

HTML规范的相关部分

6.7内容类型(MIME类型)
...
内容类型的示例包括"text/html","image/png","image/gif","video/mpeg","text/css"和"audio/basic" ".

17.13.4表单内容类型
...
application/x-www-form-urlencoded
这是默认的内容类型.使用此内容类型提交的表单必须按如下方式编码

JSON规范的相关部分

  1. IANA注意事项
    JSON文本的MIME媒体类型是application/json.


Lor*_*nzo 3

multipart/form-data
Run Code Online (Sandbox Code Playgroud)

当您想要将文件上传到服务器时使用。请查看这篇文章了解详细信息。