在 PHP 中处理 JSON 请求
使用 AJAX 调用传输数据时,将 contentType 设置为 application/json 而不是默认的 x- www-form-urlencoded 可能会导致 PHP 服务器端出现空的 $_POST 数组。发生这种情况是因为 x-www-form-urlencoded 数据会自动解析为 $_POST,而 JSON 数据则不会。
要在 PHP 中处理 application/json 请求,您需要直接从使用 file_get_contents('php://input') 请求正文。具体操作方法如下:
<code class="php"><?php var_dump(json_decode(file_get_contents('php://input'))); ?></code>
在此示例中,file_get_contents('php://input') 函数从请求正文读取原始 JSON 输入。然后 json_decode 函数将 JSON 字符串解码为 PHP 变量,可以根据需要访问和处理该变量。
通过使用这种方法,您可以处理 x-www-form-urlencoded 和 application/json 请求PHP,确保您的服务器端代码正确接收和处理数据。
以上是如何在 PHP 中处理 JSON 请求以避免空 $_POST 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!