Bei Verwendung von ExtJS und Ajax Store können Anforderungsdaten im HTTP-Anforderungstext statt über POST- oder GET-Parameter gesendet werden. Folglich bleiben $_POST und $_GET leer.
Auf den Anfragetext kann mit dem folgenden PHP-Code zugegriffen werden:
$request_body = file_get_contents('php://input');
Wenn die Nutzlast in JSON vorliegt Format, kann es dekodiert werden mit:
$data = json_decode($request_body);
Dadurch wird die Variable $data mit einem Array gefüllt, das die JSON-Nutzlast darstellt.
php://input ist ein schreibgeschützter Stream-Wrapper, der Zugriff auf Rohdaten aus dem Anfragetext bietet. Es ist besonders nützlich für POST-Anfragen und bietet Vorteile gegenüber $HTTP_RAW_POST_DATA in Bezug auf Speichereffizienz und Unabhängigkeit von bestimmten php.ini-Anweisungen. Beachten Sie, dass php://input nicht verfügbar ist, wenn enctype="multipart/form-data" verwendet wird.
Das obige ist der detaillierte Inhalt vonWie greife ich in PHP auf die Anforderungsnutzlast zu, wenn $_POST und $_GET leer sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!