更具体地说,在VueJS运行还是不正确的情况下,如何始终能从Laravel API得到答案?因为如果后端有错误,那么前端就没有答案。
这就是我对Axios,VueJS和sweetalert2的处理方式:
axios.get('/usuarios').then(function(response){
if(response.data.estatus == 'si'){
Swal.fire('OK',response.data.mensaje,'success')
}else{
Swal.fire('Error',response.data.mensaje,'error')
}
})
如果控制器中出现错误,我只能在控制台中看到该错误,如何使用Sweetalert2捕获并正确显示它?
例如:未捕获(承诺)错误:请求失败,状态码为500
答案 0 :(得分:0)
要捕获laravel中的所有错误,您需要像这样编辑App \ Exceptions \ Handler文件
public function render($request, Exception $exception)
{
if ($exception){
return response()->json([
'status' => 'failed',
'error' => $exception->getMessage()
]);
}
return parent::render($request, $exception); // return json with status => 'success' and 'message' => 'Done!'
}
然后在您的Vuejs项目中轻松地找出后端发生的异常
axios.get('/usuarios').then(function(response){
if(response.data.status == 'success'){
Swal.fire('OK',response.data.message,'success') // or call another component
}else{
Swal.fire('Error',response.data.error,'error')
}
})