Ein Entwickler ist auf ein Problem gestoßen, bei dem $_POST-Arrays nach Formularübermittlungen trotz erfolgreicher Datenübertragung über leer blieben file_get_contents('php://input').
Analyse
Bei der Untersuchung von Inhaltstyp-Headern wurde festgestellt, dass das Problem mit der Verwendung von JSON als Inhalt zusammenhängt Typ. Im Gegensatz zu mehrteiligen Formularen verhindert die Verwendung von JSON-Inhaltstypen das Auffüllen von Daten im $_POST-Array.
Lösung
Um dieses Problem zu beheben, hat der Entwickler Folgendes bereitgestellt Codeausschnitt:
$_POST = json_decode(file_get_contents("php://input"), true);
Dieser Codeausschnitt analysiert die JSON-Nutzlast und konvertiert sie in eine assoziatives Array, das dann der Variablen $_POST zugewiesen wird. Dadurch werden die Daten aus der JSON-Nutzlast wie erwartet über das Array $_POST zugänglich.
Das obige ist der detaillierte Inhalt vonWarum ist mein PHP-Array $_POST leer, wenn ich ein JSON-Formular absende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!