首页  >  文章  >  后端开发  >  当 $_POST 和 $_GET 为空时如何在 PHP 中访问请求负载?

当 $_POST 和 $_GET 为空时如何在 PHP 中访问请求负载?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-10 16:00:04318浏览

How to Access Request Payload in PHP When $_POST and $_GET Are Empty?

如何在 PHP 中访问请求有效负载

使用 ExtJS 和 ajax 存储时,请求数据可能在 HTTP 请求正文中发送,而不是通过 POST 或 GET 参数发送。因此,$_POST 和 $_GET 保持为空。

解决方案

可以使用以下 PHP 代码访问请求正文:

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

如果负载是 JSON 格式格式,可以使用以下方式解码:

$data = json_decode($request_body);

这将使用表示 JSON 负载的数组填充 $data 变量。

php://input 的背景

php://input 是一个只读流包装器,提供对请求正文中的原始数据的访问。它对于 POST 请求特别有用,并且在内存效率和独立于特定 php.ini 指令方面比 $HTTP_RAW_POST_DATA 具有优势。请注意,使用 enctype="multipart/form-data" 时 php://input 不可用。

以上是当 $_POST 和 $_GET 为空时如何在 PHP 中访问请求负载?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn