StackOverflowにこのような質問があります。laravelコントローラにjsonデータを取得する方法
私を信頼して、私はすべてのソリューションを無駄にしようとしました。私はlaravelコントローラメソッドにangularjsから、このJSONデータを投稿しようとしている
:これはコードが
[
{
"id": 2,
"name": "add-user",
"display_name": "Add new user",
"description": "Create a new worker",
},
{
"id": 4,
"name": "add-role",
"display_name": "Add role",
"description": "Add user role",
}
]
そのlaravelコントローラに投稿このJSONデータを:今
$http({
method: 'POST',
url: '/api/roles/assignPermissions/' + name,
headers: { 'Content-Type' : 'application/json' },
data: $.param(role_perms)
}).success(function(data){
console.log(data);
});
このコントローラーメソッドでは、このjsonデータを取得して戻し、コンソールに表示してコントローラーで受信したことを確認します。
以下は、このjsonデータを取得して返すために行ったコントローラとすべての試みです。
コントローラ:
public function massAssignPerms(Request $request, $roleName)
{
$role = Role::where('name', $roleName)->first();
// this returned nothing
return json_decode(file_get_contents('php://input'),true);
// this returned: add-user=&add-role=
return file_get_contents('php://input');
// returned nothing
return json_decode($request->getContent(), true);
// returned empty array []
return $request->json()->all();
}
私は私のコードで間違っているものを見つけることができません。それとも、私が間違ってやっている可能性がありますか?
ご協力いただきますようお願い申し上げます。
どのバージョンのlaravelをお使いですか? – jackel414
'dd($ request);の結果を表示してください。 –
@ jackel414私はlaravel 5.3を使用しています。 –