Laravel ajax catch 500内部服务器错误

Ber*_*p10 7 php laravel laravel-5

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

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

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

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

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

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

Sha*_*yal 6

那是因为您可能没有包含错误部分.使你的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);
        }
    });
Run Code Online (Sandbox Code Playgroud)

  • 人们经常会错过或故意不使用错误部分。应该始终使用该部分。投票因为这是一个重要的问题。 (2认同)