这里有一个奇怪的,这肯定让我摸不着头脑。
程序: 通过 iFrame/AJAX 将电子表格上传到服务器。.JSP/APACHE POI 以 XML 格式读取、验证和返回数据。JavaScript 读取 XML 并将其显示在表格中以进行视觉确认。
问题: 程序运行良好——直到用户刷新页面。XML 未正确返回,保持格式但缺少数据。上传不同的文件或再次刷新不会改变任何内容,XML 响应保持不变。
XML:
<records>
<groups>
<group>
<name>
<cell>B9</cell>
<value>Group Name</value>
<error></error>
</name>
<...more data...>
</group>
</groups>
<data>
<groups>3</groups>
<users>0</users>
<errors>5</errors>
</data>
</records>
它应该是如何出现的,但是在刷新时返回是:
<records>
<groups />
<data>
<groups>3</groups>
<users>0</users>
<errors>5</errors>
</data>
</records>
底部的三个数字(组、用户和错误)是 .jsp 变量,它们在验证过程中递增,这意味着它们必须有数据才能具有值。每次运行页面时,变量都设置为默认值 0、空白等。
据我所知,只有两种可能:
- AJAX 正在返回一个缓存页面
- .JSP 正在记住上一个请求
但我探索了无缓存标头、文件重命名等,但无济于事。
其他注意事项: iFrame/AJAX 每次都成功上传文件到服务器 正确的文件名被传递到验证 .jsp 页面 第一次运行总是完美的
验证代码很长,但如果真的需要,我可以在某个地方发布它(但由于代码第一次运行完美,我认为这一定是与通信/缓存相关的问题)。如果有人有任何想法,我在听。