【问题标题】:How to receive a json object in PHP without name attribute如何在 PHP 中接收没有名称属性的 json 对象
【发布时间】:2014-04-03 08:23:11
【问题描述】:

我已向一家公司发送简历,该公司希望候选人将 JSON 对象发布到特定 url。

当我使用 cURL 和 PHP 发布数据时,我会收到数据错误,除非我删除数据的 name 属性并仅发送 JSON 文本。

他们如何在没有名字的情况下获取服务器端的数据?

这是我要发送的请求:

POST / HTTP/1.1
Host: www.xxx.com
Accept: */*
Content-Length: 485
Content-Type: application/x-www-form-urlencoded

{"job_code":"xxx","position":"xxx",...}

【问题讨论】:

  • Content-Type: application/x-www-form-urlencoded 是错误的。如果您发送 JSON,那么您不会发送 URL 编码数据。应该是application/json
  • @Quentin 谢谢你的回答。之前看过的链接,但是没认真看,是我想要的答案。再次感谢~

标签: php json post


【解决方案1】:

我正在回答您的final try。这是从 curl 命令行 POST json 的方式:

curl -X POST "http://www.example.com" -d -H "Content-Type: application/json" "{\"job_code\":\"xxx\",\"position\":\"xxx\"}"

并且要从服务器端读取数据而不需要键名,这里是:

$json_data = file_get_contents('php://input');

如果需要,您可以检查 Content-Type 请求标头。

【讨论】:

  • 问题是问如何在服务器上读取请求,而不是如何进行。
  • @Quentin 是的,你是对的。我已经更新了我的答案。
猜你喜欢
  • 2022-01-17
相关资源
最近更新 更多