小编典典

如何获取请求有效载荷

json

我正在使用 PHPExtJSajax存储

它不通过POST或GET发送数据(在创建,更新,销毁时)。在 Chrome控制台中, 我在“ 请求有效负载
”字段中看到我的传出参数为JSON 。 $ _POST$ _GET 为空。

如何在PHP中检索它?


阅读 583

收藏
2020-07-27

共1个答案

小编典典

如果我正确理解这种情况,那么您只是通过http正文传递了json数据,而不是application/x-www-form-urlencoded数据。

您可以使用以下代码段获取此数据:

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

如果要传递json,则可以执行以下操作:

$data = json_decode($request_body);

$data 然后包含的json数据是php数组。

php://input是所谓的包装器

php:// input是一个只读流,允许您从请求正文中读取原始数据。对于POST请求,最好使用php:// input而不是$
HTTP_RAW_POST_DATA,因为它不依赖于特殊的php.ini指令。此外,对于默认情况下不填充$
HTTP_RAW_POST_DATA的那些情况,它是激活always_populate_raw_post_data的一种潜在的内存密集型替代方法。php://
input不适用于enctype =“ multipart / form-data”。

2020-07-27