Als ich in Laravel4 Beta3 entwickelt habe, habe ich JSON POST-Daten von einem Dienst mit der Input :: json () -Funktion erhalten. Aber als ich auf Laravel4 Beta4 aktualisiert habe, erhalte ich folgenden Fehler:
Hinweis: Nicht definierte Eigenschaft: Symfony \ Component \ HttpFoundation \ ParameterBag :: $ productName in /Applications/MAMP/htdocs/commonDBAPI/app/controllers/UserController.php Zeile 47
Hat jemand eine Idee, was könnte der Grund sein?
Danke,
Sie können nur auf den JSON mit Input::json()->all()
zugreifen.
Die JSON-Eingabe wird auch in Input::all()
(und Input::get('key', 'default')
) zusammengeführt, sodass Sie die gleiche Schnittstelle zum Abrufen von Abfragezeichenfolgedaten, Formulardaten und einer JSON-Nutzlast verwenden können.
Die Dokumentation enthält noch nicht alle Änderungen, da Laravel 4 noch in der Betaphase ist und der Schwerpunkt darauf liegt, den Code richtig zu machen. Die Dokumentation wird für die Veröffentlichung aktualisiert.
Wie wird JSON mit Input :: all () verschmolzen?
Betrachten Sie den folgenden JSON:
%Vor%Wenn JSON in Laravels Eingabe zusammengeführt wird, wird der JSON decodiert, und die Tasten der obersten Ebene werden Schlüssel der obersten Ebene in der Eingabe. Zum Beispiel:
%Vor%Wenn sie es geändert haben, um ein ParameterBag-Objekt zurückzugeben, wechseln Sie Ihren Code zu Input :: json () - & gt; all ()