如何正确格式化发布请求的正文?

Rob*_*Rob 4 php rest jquery post json

我正在使用名为restclient的firefox pluing来模拟一个帖子请求.它似乎并没有拿起任何帖子数据,但不确定我是否正确格式化它.

使用标题:Content-Type:application/json和body:{"id":1234}

但是没有去,它没有在我的php中获取id参数,是否需要设置一些特殊的格式?

Rob*_*Rob 6

好吧,让它工作,这是需要的

两种内容类型:

Content-Type: application/json
Content-Type: application/x-www-form-urlencoded
Run Code Online (Sandbox Code Playgroud)

然后在身体中设置你的参数:

param1=value1&param2=value2
Run Code Online (Sandbox Code Playgroud)

感谢大家的帮助.

  • 因此,当使用url编码的键值对时,例如`param1 = value1&param2 = value2`,正确的Content-Type是`application/x-www-form-urlencoded`,你可以通过`$ _POST`-访问它服务器端的数组.如果您有JSON数据,如`{'key1':'value1','key2':'value2','key3':'value3'}`,请将content-type设置为`application/json`,然后您可以将使用`$ data_array = json_decode(file_get_contents('php:// input'),true)将数据放入服务器端的数组中; (7认同)
  • 这可能有用,但不是很正确.您的内容不能有多种类型.它只是一种类型,在这种情况下是`Content-Type:application/x-www-form-urlencoded`.JSON看起来像``'key1':'value1','key2':'value2','key3':'value3'}`,如果你有,你必须将标题设置为`Content-Type:应用程序/ json`.显然,现在你的服务器只选择最后一个标题.但是,如果省略误导性的例子,这个例子也应该有效,因为它不是JSON. (3认同)