PHP verarbeitet JSON-Anfrage mit Anwendungs-/JSON-Inhaltstyp
Wenn Sie eine AJAX-Anfrage mit dem Inhaltstyp „application/json“ senden, Das Standardverhalten von PHP beim Empfang der Anforderungsparameter wird mehrdeutig. Dieses Problem entsteht dadurch, dass PHP erwartet, dass Post-Parameter URL-kodiert sind, JSON-kodierte Daten hingegen nicht.
Wenn in solchen Szenarien der Inhaltstyp „application/json“ ist, erfolgt der Zugriff auf die Parameter über PHPs $ _POST (wird für URL-codierte Daten verwendet) gibt ein leeres Array zurück. Um JSON-Anfragen in PHP ordnungsgemäß zu verarbeiten, ist ein alternativer Ansatz erforderlich.
Lösung: Verwenden von file_get_contents() zum Abrufen von JSON-Daten
Anstatt sich auf $_POST, PHP zu verlassen bietet die Funktion file_get_contents() zum Lesen von Rohdaten aus verschiedenen Quellen, einschließlich des PHP-Eingabestreams. In Kombination mit json_decode() können Sie mit dieser Funktion JSON-codierte Daten in Ihrem PHP-Skript analysieren und verwenden.
Hier ist ein Beispiel, das zeigt, wie eine JSON-Anfrage mit dem Inhaltstyp „application/json“ verarbeitet wird PHP:
<code class="php"><?php $json_data = json_decode(file_get_contents('php://input')); var_dump($json_data); ?></code>
In diesem Beispiel ruft file_get_contents('php://input') die rohen JSON-Daten aus der Anfrage ab und json_decode() konvertiert sie in ein Array oder Objekt, das dann sein kann in Ihrem Skript abgerufen und weiterverarbeitet werden.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit JSON-Anfragen mit dem Inhaltstyp „application/JSON' in PHP um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!