0

这里有一个奇怪的,这肯定让我摸不着头脑。

程序: 通过 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 页面 第一次运行总是完美的

验证代码很长,但如果真的需要,我可以在某个地方发布它(但由于代码第一次运行完美,我认为这一定是与通信/缓存相关的问题)。如果有人有任何想法,我在听。

4

1 回答 1

0

我睡在上面,今天早上我似乎已经解决了。

无论出于何种原因,每次调用 .JSP 文件时,它都使用与以前完全相同的过程,而不是每次都从头开始重新加载和重做页面。我不知道为什么,但我想这可能是我不知道的服务器上的设置。

我重申了主程序中的变量重置为默认值,它现在可以正常工作。

于 2013-03-27T10:42:01.847 回答