gpt4 book ai didi

jsf-2 - Omnifaces - FullAjaxExceptionHandler - f :ajax onevent status is success

转载 作者:行者123 更新时间:2023-12-01 08:52:50 25 4
gpt4 key购买 nike

我正在使用 Omnifaces FullAjaxExceptionHandler - 它工作得很好,但是当我执行一个 ajax 调用并有一个检查状态 == '成功' 的单一事件函数时,它仍然被调用,即使 FullAjaxExceptionHandler 已经渲染了一个错误页面。 (我正在使用 JSF(在 glassfish 3.1.1 上使用 Mojarra 2.1.3)

JSF 代码:

<h:commandButton value="myButton">
<f:ajax listener="#{myBean.myBeanFunction()}"
render="someDiv"
onevent="myFunction"/>
</h:commandButton>

Javascript 代码:

function myFunction(e)
{
if (e.status == 'success') {
alert("Success");
}
}

因此,如果 FullAjaxExceptionHandler 将我带到错误页面,我需要一些不执行 javascript 函数的方法。

最佳答案

如果返回的 XML 响应未指示已执行 render="@all"(这将指示将替换整个文档),您可以按如下方式检查:

if (e.responseXML.getElementById('javax.faces.ViewRoot') == null) {
// ...
}

它与 PrimeFaces 命令组件的 oncomplete 一起工作是因为它没有为此使用标准的 JSF ajax API,因此以不同的方式做事 - 更直观。

关于jsf-2 - Omnifaces - FullAjaxExceptionHandler - f :ajax onevent status is success,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317977/

25 4 0