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

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

Mary-Kate Olsen
发布: 2024-11-10 16:00:04
原创
382 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板