JSON in PHP mit cURL posten: Leere POST-Arrays auflösen
In einem aktuellen PHP-Framework-Tutorial stießen Benutzer beim Postversuch auf ein Problem JSON-Daten an PHP mit cURL. Das Problem entstand durch die Rückgabe eines leeren Arrays, was darauf hinweist, dass PHP den POST nicht richtig interpretiert hat.
Grundlegende Informationen zur PHP-Interpretation von JSON-POSTs
Standardmäßig ist cURLs -d Der Parameter interpretiert Daten als formcodiert. JSON ist jedoch kein formularcodiertes Format. Damit PHP JSON richtig interpretieren kann, müssen Sie den Inhaltstyp als application/json angeben.
Lösung:
Um dieses Problem zu beheben, schließen Sie den folgenden -H-Parameter ein:
-H "Content-Type: application/json"
vor dem Parameter -d. Dies gibt den Inhaltstyp der POST-Daten als JSON an.
Geänderter cURL-Befehl:
Der aktualisierte cURL-Befehl sollte wie folgt aussehen:
curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
Mit dieser Änderung interpretiert PHP Ihre POST-Daten jetzt korrekt als JSON und Sie sollten nicht mehr auf leere Arrays stoßen.
Das obige ist der detaillierte Inhalt vonWarum sind meine cURL-JSON-POST-Arrays in PHP leer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!