在 PHP 中检索请求有效负载
将 PHP 与 ExtJS 和 ajax 存储等框架结合使用时,可能会遇到请求数据被通过请求有效负载而不是 POST 或 GET 发送。此数据在 Chrome 控制台的“请求负载”字段中显示为 JSON,而 $_POST 和 $_GET 保持为空。
要在 PHP 中检索此负载,请使用以下代码段:
$request_body = file_get_contents('php://input');
如果有效负载是 JSON 格式,您可以按如下方式解析它:
$data = json_decode($request_body);
变量 $data 现在将包含 JSON 数据作为PHP 数组。
需要注意的是,“php://input”是一个只读流,有助于从请求正文直接访问原始数据。对于 POST 请求,它优于 $HTTP_RAW_POST_DATA,并且对于默认情况下未填充 $HTTP_RAW_POST_DATA 的情况,它是激活“always_populate_raw_post_data”的更节省内存的替代方案。但是,“enctype=”multipart/form-data”不支持“php://input”。
以上是如何使用 ExtJS 和 Ajax 存储在 PHP 中检索请求负载?的详细内容。更多信息请关注PHP中文网其他相关文章!