Ajax 队列丰富:在将更改事件发送到服务器之前自动完成更改事件

Ajax 队列丰富:在将更改事件发送到服务器之前自动完成更改事件,ajax,jsf,richfaces,Ajax,Jsf,Richfaces,我正在使用richfaces的自动完成组件。(模式必须是ajax)。 我有以下要求:在用户键入内容之后,请求不应该直接发送到服务器,而是应该等待一段时间,比如说500毫秒,然后才能调用autocomplete方法。这是为了防止ajax泛滥(例如,如果用户键入fast 3字符,它将只向服务器发出一个请求,而不是3个) 基本上,我只希望在上次击键超过500毫秒时调用autocomplete方法。 当然,这可以通过使用a4j:queue来解决,问题是建议列表总是出现,并且无论我使用什么方法来阻止它,自

我正在使用richfaces的自动完成组件。(模式必须是ajax)。
我有以下要求:在用户键入内容之后,请求不应该直接发送到服务器,而是应该等待一段时间,比如说500毫秒,然后才能调用autocomplete方法。这是为了防止ajax泛滥(例如,如果用户键入fast 3字符,它将只向服务器发出一个请求,而不是3个)
基本上,我只希望在上次击键超过500毫秒时调用autocomplete方法。 当然,这可以通过使用a4j:queue来解决,问题是建议列表总是出现,并且无论我使用什么方法来阻止它,自动完成方法总是被调用(附加a4j:queue或设置频率、eventsque和requestDelay属性)。

任何想法都将不胜感激

你提到的频率标签就是这样做的。定义为:激活建议弹出窗口前的延迟(秒)。默认值为400ms

如果您将频率设置为500ms,这仍然太短:用户可以在该时间段内键入超过1个字符,这可能会导致ajax泛滥

我建议您将频率设置为1000或更好的2000