由axios向laravel发布请求,并给出500错误 [英] post request by axios to laravel giving 500 error
本文介绍了由axios向laravel发布请求,并给出500错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将Laravel与Vue结合使用,并通过axios发出http请求.它给出了500错误. 我的请求代码是
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::resource('user', 'UserController');
控制器是
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);
}
推荐答案
您的存储方法正确.您只需要为axios发布请求指定正确的路径即可,这意味着您的组件方法应如下所示:
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
});
并且您的store方法应该返回验证器消息错误:
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);
}
这篇关于由axios向laravel发布请求,并给出500错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文