如何停止下一个ajax请求,直到当前一个完成?

时间:2014-03-18 16:45:55

标签: ajax jsf primefaces

嗨在我的项目中,我输入了如下文字框,其中" keyup" event我正在调用托管bean,我在arraylist中执行搜索操作。

我在p:dataTable中显示的arraylist,名为userDataTable

我的xhtml代码

<p:inputText id="searchText" binding="#{searchText}"
            value="#{userData.searchReq}" autocomplete="off">
    <p:ajax listener="#{userManagement.userTable.searchListener}"
        event="keyup" update="userDataTable/>
</p:inputText>

这基本上允许用户在输入inputText时对表执行过滤。但问题是用户可以非常快速地打字。我想停止下一个ajax调用,直到当前的ajax调用完成。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

由于您已经在使用Primefaces,因此您可以使用AutoComplete组件执行您正在尝试执行的操作。第一个示例显示了使用arraylists的基本自动完成功能....您可以参考。

自动填充还具有延迟点击服务器以补偿快速输入的功能 - queryDelay属性。有关完整的详细信息,请参阅User Guide