因此,我试图将帖子数据发送到控制器,然后通过一个对象进行访问。它肯定会传递数据,但由于某种原因,我不允许我访问该对象中的任何项目,而该项目确实很奇怪。
这是我在vue组件中的发帖请求。
axios.post('/users', {user: this.user})
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error.response)
});
这是我控制器中的内容,正如我所说的,我确实获得了用户信息,但是我无法访问它,例如执行$ user-> id,但是当我只执行$ user时,我可以看到包括ID。
//Here we get all the users info from the Axios Vue.
$user = $request->get('user');
return response()->json([
'status' => 'success',
'msg' => $user->id,
], 201);
我得到的错误是php错误,因为我可以在网络响应区域下找到它,这就是错误消息的意思。
"message": "Trying to get property 'id' of non-object"
但是当我只是在控制器中这样做时。
//Here we get all the users info from the Axios Vue.
$user = $request->get('user');
return response()->json([
'status' => 'success',
'msg' => $user,
], 201);
它返回201,并在味精中显示。
{"id":1,"email":"test@test.com","full_name":"John Doe","first_name":"John","last_name":"Doe","is_active":1,"overide_login":1,"skill_id":5,"phone":null,"shifts_id":0,"bilingual":0,"full_time":0}
我格式化对象的格式错误还是什么?...如果有人可以提供帮助,那将是很好的选择,因为我真的不明白为什么这样做不起作用。
还请注意,所有内容均与VueJS / AXIOS和LARAVEL的最新版本有关。
答案 0 :(得分:1)
您必须先对其进行解码,请将其添加到您的控制器中。
$input = ($request->all() == null ? json_decode($request->getContent(), true) : $request->all());
echo $input['user']['id']
希望这对您有用。