GWT RPC 在移动 IE 浏览器中随机失败,服务器日志中没有异常,但在 pc 中工作

GWT RPC fails randomly in mobile IE browser with no exception in server log but works in pc

您好,我的 GWT 应用程序在 PC 浏览器中运行良好,但 RPC 通信在移动/iPad 浏览器中随机失败。似乎第一次 RPC 通信在 mobile / iPad 中成功,但随后的 RPC 调用失败。当我检查我的服务器日志时,完全没有异常。我使用 Tomcat 作为服务器,使用 Apache HTTPD 作为服务器静态资源。另一个观察结果是,当加载多个图像时,我的 iPad.

中的 RPC 调用失败

请帮我解决这个问题。

您没有提供很多信息,但是这个 "works first time, then fails" 听起来像是 iOS6 中引入的缓存行为,IIRC。

了解一下:

  1. 运行 应用进入 non-working 状态。
  2. 清除浏览器设置中的缓存(通过 iOS 中的系统设置)
  3. 重试 RPC 调用。

如果调用在步骤 3 中突然起作用,您需要在 RPC servlet 上显式设置缓存 headers。我们使用在正确路径上添加 headers 的请求过滤器来完成此操作。

我们设定

Cache-control: no-cache

这为我们解决了问题。

在此处查找有关正确缓存设置的更多信息Is Safari on iOS 6 caching $.ajax results?