我正在使用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();
});
}
答案 0 :(得分:2)
您可以使用这个漂亮的功能获取所有AJAX错误。然后,您只需在控制台中显示从Laravel获得的JSON对象。我经常使用它。
$(document).ajaxError(function(event, jqxhr, settings, exception) {
var error = $.parseJSON(jqxhr.responseText);
console.log(error.error)
});
此外,您还可以获得更多信息。