PHP API Content-Type:application / json。响应空数据

时间:2014-06-14 05:48:39

标签: php android json web-services api

适用于:

  • 从Android平台发送到PHP(网络服务)
  • 使用此Content-Type: application/x-www-form-urlencoded
  • 发送的请求标头

不适用于:

  • 使用Content-Type: application/json发送的请求标头。没有收到数据

API在同一平台上运行,但不在跨平台上运行:

  • 网络到网络工作
  • Android to web NOT WORKING

在PHP中添加了两个标题:

header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');

2 个答案:

答案 0 :(得分:0)

如果你比较这两个内容类型application / x-www-form-urlencoded和application / json in"第一个用PHP工作,第二个不用"#34;那么你可能期望在这两种情况下,数据都会神奇地显示在$ _POST中。

这不会发生。如果给出了第一个内容类型,PHP只会填充$ _POST(或者,application / multipart-form-data可用于所有内容,尤其是文件上传)。

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

答案 1 :(得分:0)

日志搜索后我找到了答案.. 我们需要这个函数来从跨平台(android到web)获得$ _POST响应

file_get_contents('php://input')

或者我们也可以使用此函数获取$ _POST响应

$HTTP_RAW_POST_DATA

这里有完整的功能来获得回复。

$data = urldecode(file_get_contents('php://input'));
echo $data;