对于普通请求,我们可以简单地注册一个 <error-page>
在 web.xml
.但是,这不适用于 Ajax 请求。默认情况下,Ajax 请求期间的错误将导致浏览器中出现一个显示异常的小弹出窗口。
我正在努力解决的主要示例是处理 ViewExpiredException
以统一的方式。对于标准请求,我重定向到一个页面,该页面说明用户未登录并提供登录页面的链接。我想对 Ajax 请求做同样的事情。似乎有几种方法:
<f:ajax>
添加这个函数- 使用 onerror
在所有页面上标记-属性。有没有办法告诉 JSF 我想要这个 javascript 函数作为所有 <f:ajax>
的默认错误处理程序-标签? 所以我的问题是,这应该如何解决?应该使用我列出的哪些方法?还有另一种我不知道的方法吗?
最佳答案
您可以使用 jsf.ajax.addOnError()
设置默认错误处理程序。例如。
jsf.ajax.addOnError(function(data) {
alert(data.responseText);
});
另见 JSF2 spec 的第 13.3.6.2 章.您可以找到
data
的所有属性JSF2 规范表 14-4 中的对象。
关于ajax - 在 Ajax 请求期间处理错误的规范方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137660/