![](/img/trans.png)
[英]Nginx, fastcgi PHP request body empty when content-type application/json
[英]PHP API Content-Type: application/json. Response empty data
适用于:
Content-Type: application/x-www-form-urlencoded
一起发送的请求标头Content-Type: application/x-www-form-urlencoded
不适用于:
Content-Type: application/json
发送的请求标头Content-Type: application/json
。 没有收到数据 API在同一平台上工作,但不在跨平台上工作:
在PHP中,两个标头都放在顶部:
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
如果您在“第一个可与PHP一起使用,第二个不与PHP一起使用”中比较这两种内容类型application / x-www-form-urlencoded和application / json,则您可能希望数据在两者中都神奇地出现在$ _POST内案件。
这不会发生。 如果只指定了第一种内容类型,PHP只会填充$ _POST(或者,application / multipart-form-data可以用于所有内容,尤其是文件上传)。
如果要使用application / json,则必须在PHP端自己实现一个解析器,该解析器读取HTTP请求正文并将其解析为您喜欢的内容。
在日志搜索后,我找到了我的答案..我们需要此功能才能从跨平台(Android到Web)获取$ _POST响应
file_get_contents('php://input')
或者我们也可以使用此函数来获得$ _POST响应
$HTTP_RAW_POST_DATA
这是获取响应的完整功能。
$data = urldecode(file_get_contents('php://input'));
echo $data;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.