首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP内容-Type: application/json。响应空数据

PHP内容-Type: application/json。响应空数据
EN

Stack Overflow用户
提问于 2014-06-14 05:48:39
回答 2查看 960关注 0票数 0

适用于:

  • 从Android平台发送到PHP (web服务)
  • 与此Content-Type: application/x-www-form-urlencoded一起发送的请求头

不为下列工作:

  • Content-Type: application/json一起发送的请求头。未收到任何数据

API在同一个平台上工作,但在跨平台上不工作:

  • Web到web工作
  • Android到web无法工作

在PHP中,在顶部添加了两个标题:

代码语言:javascript
运行
复制
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-17 10:27:22

经过日志搜索,我找到了答案。我们需要这个功能来获得跨平台(android到web)的$_POST响应。

代码语言:javascript
运行
复制
file_get_contents('php://input')

或者我们也可以使用这个函数获得$_POST响应。

代码语言:javascript
运行
复制
$HTTP_RAW_POST_DATA

下面是获得响应的完整函数。

代码语言:javascript
运行
复制
$data = urldecode(file_get_contents('php://input'));
echo $data;
票数 0
EN

Stack Overflow用户

发布于 2014-06-14 13:23:37

如果您比较这两种内容类型-- application/x-www-form-urlencoded和application/json --“第一种使用PHP,第二种不使用”,那么在这两种情况下,您可能都会期望数据在$_POST中神奇地出现。

这是不可能的。只有当给出第一种内容类型时,PHP才能填充$_POST (或者,应用程序/多部分表单数据可以用于所有东西,特别是文件上传)。

如果您想使用application/json,那么您必须自己在PHP端实现一个解析器,该解析器读取HTTP请求体并根据您的喜好进行解析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24216986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档