我使用jquery快速创建单页体验
Laravel
模板。例如,只更新
#content
单击管理面板侧边栏上的按钮(链接)时网页的部分。
我通常添加
success
和
error
对我请求的回调
$.ajax({
url: url,
type: "POST",
data: data,
success:function(data){
},
error:function(xhr, status, error) {
//Error msg for Developers
$('body').html('');
$('body').prepend(xhr.responseText);
$('body').append('XHR :'+xhr);
$('body').append('STATUS :'+status);
$('body').append('ERROR :'+error);
// for users
// $('.infoMsg').html("OOPS SOMETHING BAD HAPPENED!");
// $('#infoModal').modal();
}
});
在早期版本的
拉韦尔
例如
5.4
错误函数内的JS通常会像正常的HTTP响应(正常的网页)一样从后端呈现错误。当时,我猜想开发人员必须有意识地了解想要发送回的响应的类型,默认值是http。因此,如果后端出现错误,我会看到类似这样的情况(尽管这个是
5.7
)
所以这里的问题是什么?我想这里的问题是5.6以上,
拉韦尔
能够检测请求类型并根据请求类型以适当的格式发送响应。在本例中,它返回我的Ajax请求的JSON响应。所以现在当后端出现错误时,我会看到类似的情况
错误以如此混乱的方式显示会使我更难调试甚至理解错误!我知道让JSON以更好的方式出现是可能的,但是我想知道我是否有可能(并且实际上是一个好的解决方案)只需要
拉韦尔
是否返回HTTP响应(与以前版本中的类似)?
使用时
GET
请求,如果在访问类似的路由时从后端获取并出错
list/products
例如,调试的一个简单方法就是从地址栏访问URL并直接获取HTTP格式的错误,但是使用
POST
请不要这样。这不是真正的“编程错误”或其他什么,而是找到一种调试Ajax问题的方便方法
拉韦尔
. 我想得到我的“良好的老拉拉维尔行为”谢谢!