在浏览器中捕获服务器端ajax处理错误
问题描述:
假设我有一些基于ajax的组件,其服务器中的处理程序由于某种原因引发异常(例如,编程错误,无法访问数据库)。基本上服务器响应与内部服务器错误或一些这样的。如何在浏览器中捕获这种情况并在某处显示例如错误消息。在浏览器中捕获服务器端ajax处理错误
当用户点击这个链接时,服务器将显示一个错误页面,浏览器应该根据http状态代码检测到出现问题,并以某种方式对此作出反应。
new AjaxLink<Link>("link") {
public void onClick(AjaxRequestTarget target) {
throw new RuntimeException();
}
}
答
通常情况下,检票阿贾克斯类,如AjaxFallbackLink例如,有一个方法
updateAjaxAttributes(AjaxRequestAttributes attributes)
在那里你可以注册错误处理程序,在浏览器内的执行JavaScript的。 覆盖此方法,创建一个AjaxCallListener并调用
AjaxCallListener listener = new AjaxCallListener();
listener.onFailure(ADD_JAVASCRIPT_TO_EXECUTE_HERE);
attributes.getAjaxCallListeners().add(listener);
看到的
文档org.apache.wicket.ajax.attributes.AjaxCallListener.getFailureHandler(色差分量)
这似乎是检票仅1.5。有什么办法可以在1.4中做到这一点? – 2012-02-16 17:01:38