Answers:
如果我正确理解这种情况,那么您只是通过http正文而不是application/x-www-form-urlencoded
数据传递json 数据。
您可以使用以下代码段获取此数据:
$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”。
您也可以使用设置extJ writer
,它将定期发送数据(因此,您将能够通过和检索数据 )。encode
: true
$_POST
$_GET
...这些值将作为请求参数的一部分发送,而不是原始帖子(通过ext.data.writer.Json编码配置的文档)
更新
还有文档说:
仅当定义了根目录时,encode选项才应设置为true
因此,可能需要writer
的root
配置。