Kurze Frage zu PHP $_POST...
Der Christian
- javascript
- php
0 Rolf B
Hallo...
Kurze Frage zu erlaubten Formaten, die von PHP $_POST konsumiert werden können:
Kann ich ein Objekt / JSON Format an das Backend schicken, nach dem Muster
const payload = {
one: 1,
two: "two"
}
const options = {
method: "post",
body: payload
};
const response = fetch("./toFetch.php", options).then(…
var_dump der $_POST
Variable im Backend (PHP File) ergibt dann immer lediglich ein leeres Array. Bin hier auf folgenden Hinweis gestoßen:
body: undefined, // string, FormData, Blob, BufferSource, or URLSearchParams
...Blob, BufferSource und URLSearchParams erscheinen mir in meinem Usecase nicht zielführend.
AAALSO GUT, ZUR FRAGE (warum denn so ungeduldig)
Für alle Payloads wie die meinen (komplexer als String, aber auch kein Blob):
ist hier FormData()
die erste (UND VERNÜNFTIGSTE!) Wahl der Qual?
LG, Christian
Hallo Christian,
FormData geht grundsätzlich, aber es sollte auch möglich sein, die Eingabe über php://input zu lesen. Dafür musst Du den Content-Type beim Senden über POST auf application/json setzen - beispielsweise. Hauptsache keinen, den PHP als Formulardaten erkennt.
Guck mal, was diese Antwort bei StackOverflow sagt.
Rolf
Dank dir, Rolf!
--
Okay, wird dort (unter anderem) auch vorgeschlagen
Oder mit anderen Worten: da sich hier im Forum niemand mit Grauen von meiner FormData() Lösung abzuwenden scheint, dürfte diese meine Lösung ja in Ordnung zu sein 😂