Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
81
rated 0 times [  84] [ 3]  / answers: 1 / hits: 20810  / 6 Years ago, fri, february 23, 2018, 12:00:00

I am using Laravel with Vue making http request with the axios. It is giving 500 error.
My request code is



axios.post('user', {
first_name: this.user.first_name,
last_name: this.user.last_name,
email: this.user.email,
phone_number: this.user.phone_number,
is_active: this.user.is_active,
entity: this.user.entity,
role_id: this.user.role_id
})


Lavael Route is



Route::resource('user', 'UserController');


And Controller is



public function store(Request $request)
{
$this->validate($request, [
'first_name' => 'required|max:255',
'last_name' => 'required|max:255',
'email' => 'required',
'is_active' => 'required'
]);

$user = User::create([
'first_name' => request('first_name'),
'last_name' => request('last_name'),
'email' => request('email'),
'is_active' => request('is_active'),
'phone_number' => request('phone_number'),
'role_id' => request('role_id')
]);

return response()->json([
'user' => $user,
'message' => 'Success'
], 200);

}

More From » php

 Answers
50

Your store method is correct. You just need to specify the correct path to your axios post request, which means your component method should be like this :



axios.post('/user/store', {
first_name: this.user.first_name,
last_name: this.user.last_name,
email: this.user.email,
phone_number: this.user.phone_number,
is_active: this.user.is_active,
entity: this.user.entity,
role_id: this.user.role_id
}).then((res) => {
// here clear your form and fetch your users list if you want
})
.catch(error => {
// here catch error messages from laravel validator and show them
});


and your store method should return validator messages error :



public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'first_name' => 'required|max:255',
'last_name' => 'required|max:255',
'email' => 'required',
'is_active' => 'required'
]);
if ($validator->fails()) {
return response()->json(['errors'=>$validator->errors()],422);
}

$user = User::create([
'first_name' => $request('first_name'),
'last_name' => $request('last_name'),
'email' => $request('email'),
'is_active' => $request('is_active'),
'phone_number' => $request('phone_number'),
'role_id' => $request('role_id')
]);

return response()->json([
'user' => $user,
'message' => 'Success'
], 200);
}

[#55080] Monday, February 19, 2018, 6 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
dequant

Total Points: 88
Total Questions: 99
Total Answers: 95

Location: Ukraine
Member since Sun, Dec 13, 2020
4 Years ago
;