我用这段代码写了一个头文件:
if($_SERVER["REQUEST_METHOD"] == "POST" && $_SERVER["CONTENT_TYPE"] == "application/json")
{
$data = file_get_contents("php://input", false, stream_context_get_default(), 0, $_SERVER["CONTENT_LENGTH"]);
global $_POST_JSON;
$_POST_JSON = json_decode($_REQUEST["JSON_RAW"],true);
// merge JSON-Content to $_REQUEST
if(is_array($_POST_JSON)) $_REQUEST = $_POST_JSON+$_REQUEST;
}
它检查正确的内容类型,并且只读取与 Content-Length 标头中指定的一样多的帖子输入。当接收到一个有效的 JSON 时,它创建了一个全局数组 $_POST_JSON。
因此,您可以像使用 url 编码的 POST 值一样使用 JSON 内容。
例子:
echo $_POST_JSON["address"];
// or
echo $_REQUEST["address"];