Laravel ajax catch 500内部服务器错误

时间:2017-03-02 12:18:05

标签: php laravel laravel-5

我正在使用Laravel和ajax,在我的控制器中我有一个try-catch块:

try {
        something...
    } catch (\Exception $e) {
        return response()->json([
            'status' => 'error',
            'message'=> 'error message'
        ]);
    }

我使用它在页面上的div中显示错误消息。

这是有效的,但如果错误是500 - 内部服务器错误(例如:tokenmismatchexception)则不行。

然后catch-block没有捕获错误,实际上用户不会收到任何错误的通知(除了在控制台中)。

有没有办法可以捕捉到这样的错误,并且像往常一样在同一个div中显示错误?

1 个答案:

答案 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);
        }
    });