2013-08-20 2 views
2

это может показаться глупым, но, пожалуйста, со мной, я просто имею базовые знания в Javascript/AJAX. На странице JSF у меня есть вход и предложение. Обычно, когда я ввожу текст в:RichFaces suggestionbox не отображается, если запрос занимает более 1,5 секунд.

h:inputText 

РекомендацияBox начнет показывать предлагаемые результаты, что является правильным.
Однако проблема заключается в том, что если запрос, когда я вводим текст, занимает много времени, чтобы иметь ответ, предложение-предложение вообще не отображается.
Я использую firebug, и если запрос занимает> 1,5 секунды, предложение не удастся. Через 1,5 секунды я все еще вижу ответ, но с правильными предлагаемыми результатами, однако, не обновляется.

В чем может быть причина? В моем веб-приложении есть много других вещей, которые работают намного дольше и успешно обновляются.

Я использую RichFaces 3.3.3

Update1: Для того, чтобы добавить больше, если запрос принять 1,59 сек, предложение появляются, а затем исчезают из сразу

UPDATE2: Я решить эту проблему, поставить предложение и вход в

a4j:region 

Однако, я до сих пор не понимаю, почему

+0

О, конечно, извините. Я использую richfaces, rich: suggestionbox tag –

+0

Возможно, вам стоит подумать о том, чтобы не использовать поле предложений, если запрос обычно длится более 1,5 секунд. Вы можете быть уверены, что обычный пользователь не будет ждать так долго и щелкнет в другом месте экрана, что автоматически закроет окно подсказки, как только оно появится. – LaurentG

ответ

1

suggestionBox component of RichFaces имеет атрибут timeout который определяет:

Время ожидания ответа по конкретному запросу. Если ответ не получен в течение этого времени, запрос прерывается

Вы можете попытаться увеличить значение таймаута и проверить, разрешает ли он вашу проблему.

Обратите внимание, что вы можете определить timeout для всех запросов Ajax в представлении, используя a4j:queue.

NB: поскольку это не указано, я проверил RichFaces 3.x, но должно быть что-то подобное с RichFaces 4.x.

+0

Да, я тоже знаю этот атрибут.Я устанавливаю тайм-аут на 1 секунду, и если запрос занимает больше, он отбрасывается (в Firebug я вижу, что запрос отмечен красным). Установка большего таймаута (я стараюсь 5 секунд) не помогает, потому что в моем случае я все равно получаю правильный ответ с предлагаемыми результатами. Проблема в том, что страница не обновляется этими новыми данными. –

0

Я думаю, что проблема может быть внутри richfaces suggestionbox, если вы используете Richfaces 4.x. Когда я обновлялся с Richfaces 3 до 4-й версии, было много проблем с предложением. Это просто не отображалось на сложных страницах. Я закончил замену richfaces suggestionbox с JQuery UI sugestionbox и некоторыми контроллерами Spring MVC для загрузки предложений.

Если вы используете Richfaces 4.3.x и используете с помощью JQuery UI для предложения, это не опции, которые вы можете попробовать перейти на Richfaces 4.2.x. Я помню, что когда я делал это предложение, начали появляться на странице, но в этом месте у вас могут возникнуть другие проблемы с Richfaces.

+0

Извините, забыл упомянуть мою версию Richfaces. Спасибо, в любом случае –

Смежные вопросы