表单json HTTP POST的内容类型?

时间:2010-11-22 19:53:38

标签: json http forms

只想澄清表单内容类型:

  1. application/x-www-form-urlencoded:您可以在此处发送使用网址编码的参数。

  2. multipart/form-data:??

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

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

3 个答案:

答案 0 :(得分:24)

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

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

示例:

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

{"email":"user@example.com"}

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

答案 1 :(得分:5)

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

根据规范,json数据的POST应该具有内容类型:
应用/ JSON

HTML spec

的相关部分
  

6.7内容类型(MIME类型)
...
内容类型的示例包括“text / html”,“image / png”,“image / gif”,“video / mpeg”, “text / css”,和   “音频/基本”。

     

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

JSON spec

的相关部分
  
      
  1. IANA注意事项
      JSON文本的MIME媒体类型是application / json。
  2.   

答案 2 :(得分:3)

multipart/form-data
如果要将文件上载到服务器,则使用

。有关详细信息,请查看this article