微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从jsf.ajax.addOnEvent()中止JSF Ajax请求

我希望有一个中心位置,我监视ajax请求,并在某些情况下中止它们.

我唯一不知道要做的是实际中止来自一个中心函数的ajax请求.

我想,解决方案看起来像这样:

jsf.ajax.addOnEvent(function(data) { 
    if (data.status === 'begin') {
        // abort the ajax request
    }
});

但我可能会弄错.

谢谢!

解决方法

标准 JSF JS API无法实现这一点.最好的办法是在调用JSF组件上添加onclick或onchange处理程序,如果满足所需条件则返回false以中止ajax请求.

<h:commandButton onclick="return mayFireAjax(this)">
    <f:ajax />
</h:commandButton>

如果需要,您可以使用公共选择器上的jQuery.on()(或jQuery.delegate()jQuery.live(),具体取决于所使用的jQuery版本)来抽象它,这样您就不需要在每个所需的组件上重复它.

$(someSelector).on("click",function() {
    return mayFireAjax(this);
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐