我正在使用Laravel和ajax,在我的控制器中我有一个try-catch块:
try {
something...
} catch (\Exception $e) {
return response()->json([
'status' => 'error',
'message'=> 'error message'
]);
}
我使用它在页面上的div中显示错误消息。
这是有效的,但如果错误是500 - 内部服务器错误(例如:tokenmismatchexception)则不行。
然后catch-block没有捕获错误,实际上用户不会收到任何错误的通知(除了在控制台中)。
有没有办法可以捕捉到这样的错误,并且像往常一样在同一个div中显示错误?
答案 0 :(得分:5)
那是因为您可能没有包含错误部分。 制作你的jQuery Ajax代码:
$.ajax({
url : '/yoururl',
method : 'POST',
data :
{
name:"test"
},
success : function(response)
{
//USE THIS SECTION WHEN ITS SUCCESS
},
error : function(e)
{
//SHOW ERROR TO USER HERE THIS SECTION IS CALLED IN CASE OF ERRORS TO SEE THE OBJECT OF the error use console.log(e);
}
});