Grundlegendes zum JSON-Handling in PHP
Beim Senden von Daten über eine AJAX-Anfrage, wobei der Content-Type-Header auf application/json gesetzt ist, kann dies passieren Es scheint, dass das $_POST-Array von PHP auf der Serverseite leer bleibt. Dies liegt daran, dass PHP JSON-Daten aus dem php://-Eingabestream nicht nativ analysiert.
Warum das passiert
Standardmäßig verarbeitet PHP vom Client empfangene Daten. Nebenanfragen mit der Kodierung x-www-form-urlencoded. Wenn der Content-Type auf application/json gesetzt ist, enthält der Anfragetext rohe JSON-Daten, die PHP nicht als typische Formularparameter interpretiert.
Lösung: JSON-Anfragen verarbeiten
Um dieses Problem zu beheben und JSON-Anfragen in PHP ordnungsgemäß zu verarbeiten, können Sie den folgenden Ansatz verwenden:
<code class="php"><?php var_dump(json_decode(file_get_contents('php://input'))); ?></code>
Erklärung
Die Funktion var_dump() wird verwendet, um die dekodierten JSON-Daten anzuzeigen. Die Funktion file_get_contents('php://input') liest die Rohdaten aus dem php://input-Stream, der den JSON-Anfragetext enthält. Schließlich analysiert die Funktion json_decode() den JSON-String in eine PHP-Variable.
Das obige ist der detaillierte Inhalt vonSo verarbeiten Sie JSON-Anfragen in PHP richtig. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!