Быстрый взлом будет добавить задержку в onstart
из p:ajax
. Определите следующую функцию где-нибудь в вашем javascript:
function keyupDelay(request, cfg, delay) {
delay = delay || 2000;// if no delay supplied, two seconds are the default seconds between ajax requests
setTimeout(function() {
cfg.onstart = null;
request.send(cfg)
}, delay);
return false;
}
По сути, эта функция запускает ajax-запрос в определенный тайм-аут, возвращая false для немедленного, и освобождая стартовый запрос для этого тайм-аута, чтобы не застрять в неприятном цикле.
Затем на p:ajax
:
<p:ajax event="keyup" onstart="return keyupDelay(this, cfg)" />
Параметр задержки здесь необязательный, по умолчанию он равен 2 секундам.