配置Laravel 4为AJAX请求发送纯文本错误


Configure Laravel 4 to send plain text errors for AJAX requests

当AJAX控制器失败时,我通常会得到一个包含堆栈信息和错误信息的HTML响应。这对于普通的控制器来说很好,因为它给了我们一个更漂亮、更可读的版本。

但是,对于AJAX请求,我只想看到纯文本版本。是否有一种方法来配置Laravel只发送纯文本/非html错误对AJAX请求错误?

添加到您的App::error()过滤器:

App::error(function(Exception $exception, $code)
{
    if (Request::ajax())
    {
        return Response::json( ['status' => 'error', 'msg' => 'There was an error. I could not find what you were looking for.'] );
    }
    return Response::view('errors.500', array(), 500);
});