首页 > 解决方案 > Laravel Exception 正在将用户带到登录页面

问题描述

我正在用 Laravel 和 Vuejs 构建一个应用程序。我正在使用 Laravel Validator 验证我的数据。然后我回馈这个axios请求。请看一下代码。

Axios 发送数据:

saveCustomerInDB(customer) {
  axios.post('/api/data/user/storeCustomer', 
  {
    customer_name: customer.customer_name
  }).then( (response) => {
     console.log(response);
  }).catch( (error) => {
      console.log("Error", error);
  });
},

然后是 Laravel Controller 的验证:

try {
  $this->validate($request, [
      'customer_name' => 'required'
  ]);
    
   return response()->json([
      'status' => 'success',
      'msg'    => 'Okay',
   ], 200);
}
catch(ValidationException $exception) {
   return response()->json([
      'status' => 'error',
      'msg'    => 'Error',
       'errors' => $exception->errors(),
   ], 422);
}

给出异常后,它将进入登录页面!

如果我把它改成这个,return response()->json($exception->errors());那么它会给我成功消息,但数据错误即将到来!很奇怪!!

我现在能做什么?

标签: laravelvue.jsaxios

解决方案


如果添加异常后出现问题,您可能需要重新检查是否在文件顶部导入了验证异常。

use Illuminate/Validation/ValidationException

或者你可以做

catch(\ValidationException $exception).


推荐阅读