如何通过AJAX加载时显示Laravel错误

时间:2013-11-27 22:20:04

标签: jquery laravel-4

我正在使用Laravel 4构建一个Web应用程序。我网站上几乎所有链接都通过jQuery AJAX加载内容。但是当我正在构建时,Laravel会抛出错误,错误页面不会显示在我的目标区域中。所以我最终在大部分时间都禁用了AJAX,所以我可以看到Laravel抛出的错误。

我的AJAX加载程序是否可以更改显示Laravel错误的内容?

function LoadContent( url, target, method, data )
    {
        $(target).fadeOut(20);

        var loadingTimeout = setTimeout(function() { $(target).html('<div style="text-align:center;font-size:150%;">Loading ...</div>').fadeIn(200); }, 1000);

        var request = $.ajax({ url: url, type: method, data: data });

        var tooLongTimeout = setTimeout(function() { request.abort(); request = false; $(target).html('<div class="large-9 large-centered columns"><h1>Request Failed</h1><p>Please try again or contact us to report the issue.</p></div>').fadeIn(200); }, 60000);

        request.done( function(result) {
                clearTimeout(loadingTimeout);
                clearTimeout(tooLongTimeout);
                $(target).html(result).fadeIn(50);
                AjaxElements();
        });
    }

1 个答案:

答案 0 :(得分:2)

您可以使用这个漂亮的功能获取所有AJAX错误。然后,您只需在控制台中显示从Laravel获得的JSON对象。我经常使用它。

$(document).ajaxError(function(event, jqxhr, settings, exception) {
  var error = $.parseJSON(jqxhr.responseText);
  console.log(error.error)
});

此外,您还可以获得更多信息。