【问题标题】:Ajax update takes suddenly 30+ seconds instead of 0.5~2 secondsAjax 更新突然需要 30+ 秒而不是 0.5~2 秒
【发布时间】:2016-07-30 23:33:20
【问题描述】:

我正在使用 Wildfly 8.2 和 primefaces 创建一个运行良好的 jsf 2.2 Web 应用程序。 但是自从两三天以来,出现了奇怪的ajax更改事件加载行为。

我正在使用带有 f:ajax 更改事件的 h:selectOneMenu 组件来加载和刷新 p:outputPanel。问题是,如果更改事件被触发,则数据正在正确加载并且在几毫秒内可用,但 jsf 视图上的刷新事件需要 30 秒甚至更多。 我不知道为什么。 几天前,组件在 0.5 到 2 秒内刷新。 我对此组件或视图没有任何更改。

我调试了视图控制器,可以看到数据集现在可用,但在 firebug 中,post 请求正在进一步工作,30 秒后结果显示在 jsf 视图上。

有或曾经有过同样的问题吗? 如何从 f:ajax 更改事件中调试 javascript?

希望有人可以帮助我

【问题讨论】:

  • 可能与 IDE 相关。尝试清理和重建项目并清理浏览器缓存。
  • 我清理了浏览器缓存和 Eclipse IDE,但不幸的是它没有帮助。

标签: performance jsf ajax-update


【解决方案1】:

经过几天的调试,我发现了错误。 对于他们感兴趣的一切。 视图上有一个 h:textLabel,其中填充了一些数据。如果触发了 ajax 更改事件,则该字段也会获取新数据,但我不知道为什么如果该字段中有一个像“\n”这样的特殊符号,则在视图上更新该字段需要很长时间。

【讨论】:

  • 如果你能想出一个 MCVE 在一个所有设置为默认值的暂存器项目中准确地重现这个问题,那就太好了。听起来很像 ajax 响应内容长度被错误地计算并设置在响应头上,因此 webbrowser 期待更多数据并等待超时。这反过来表明正在使用的 JSF 实现中可能存在错误。
猜你喜欢
  • 2016-09-27
  • 2015-02-10
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-14
相关资源
最近更新 更多