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

Jquery 通过AJAX加载时如何显示Laravel错误,jquery,laravel-4,Jquery,Laravel 4,我正在使用Laravel4构建一个web应用程序。我网站上几乎所有的链接都通过jQuery AJAX加载内容。但是,当我在构建时,Laravel抛出一个错误,错误页面不会显示在我的目标区域中。所以我大部分时间都禁用了AJAX,这样我就可以看到Laravel抛出的错误 我是否可以用我的AJAX加载器更改一些显示Laravel错误的内容 function LoadContent( url, target, method, data ) { $(target).fadeOut(

我正在使用Laravel4构建一个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();
        });
    }
函数加载内容(url、目标、方法、数据)
{
美元(目标)。淡出(20);
var loadingTimeout=setTimeout(function(){$(target).html('Loading…').fadeIn(200);},1000);
var-request=$.ajax({url:url,type:method,data:data});
var tooLongTimeout=setTimeout(function(){request.abort();request=false;$(target).html('request Failed请重试或与我们联系以报告问题。

).fadeIn(200);},60000); 请求完成(函数(结果){ clearTimeout(加载超时); clearTimeout(tooLongTimeout); $(目标).html(结果).fadeIn(50); AjaxElements(); }); }
您可以使用这个漂亮的函数获取所有AJAX错误。然后在控制台中显示从Laravel获得的JSON对象。我经常用这个

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

您还可以从中获得更多信息。

您是否可以尝试将代码放入try-catch块并捕获服务器端的错误,然后返回json编码的错误消息?我自己以前没有遇到过这个问题,但这将是我的第一个方法。另外,在重读您的问题之后,您最好对服务器端代码进行单元测试,而不是尝试调试客户端。如果您使用的是Google Chrome,您可以看到Laravel错误。右键单击->检查元素->网络部分将显示实际错误消息。