Scala 500错误页不存在';我没有出现
我正在使用play 2.2.0 我使用覆盖onError和onHandlerNotFound方法定义了全局对象设置。从视图中,由于sql语法问题,我正在进行ajax调用,该调用抛出500个内部服务器,但我无法看到在OneError方法中设置的500个内部页面,但如果找不到处理程序,我可以看到NotFound页面。因为我使用的是ajax请求,所以这是意料之中的事情Scala 500错误页不存在';我没有出现,scala,playframework,playframework-2.2,Scala,Playframework,Playframework 2.2,我正在使用play 2.2.0 我使用覆盖onError和onHandlerNotFound方法定义了全局对象设置。从视图中,由于sql语法问题,我正在进行ajax调用,该调用抛出500个内部服务器,但我无法看到在OneError方法中设置的500个内部页面,但如果找不到处理程序,我可以看到NotFound页面。因为我使用的是ajax请求,所以这是意料之中的事情 object Global extends WithFilters(LogFilter) with GlobalSettings {
object Global extends WithFilters(LogFilter) with GlobalSettings {
override def onError(request: RequestHeader, ex: Throwable) = {
Future.successful(InternalServerError(
views.html.error(ex)
))
}
...
}
我想这是意料之中的,因为您的两个ajax请求很可能不同(正如Ashalynd提到的,发布您的前端代码)。在执行ajax请求的地方,捕获响应并相应地重定向。例如,使用jQuery:
$.ajax({
url: "http://wherever.com",
type: 'GET',
success: function(msg) {
// Do successful things
},
error: function (xhr, ajaxOptions, thrownError) {
// Redirect
window.location.href = "/errorpage.html";
// Or some weird form of "redirect" (don't use this, just
// for demonstration purpose, showing how you can capture
// whatever you sent along with your error)
var responseText = $.httpData(xhr);
document.body.innerHtml = responseText;
}
});
这是游戏的一个特点!2.2. 我玩的时候也有同样的问题!2.2.1、Java API和使用命令行中的curl。只是onHandlerNotFound按照指定的方式工作,但onError只是让HTTP连接挂起,并且从不返回响应
降级到2.1.5解决了这个问题。如果这是一个ajax请求,那么问题是在哪里进行ajax调用,以及如何处理结果?换句话说,您是否也可以发布发出此请求的前端代码?