2013-03-26 15 views
0

在這裏有一個奇怪的,這當然讓我撓了撓頭。來自響應的XML在刷新時消失

程序: 通過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頁面時,成功地把文件上傳到服務器 第一次運行時總是完美的作品

驗證碼很長,但如果真的需要,我可以找到某處發佈它(但由於代碼首次運行完美,我認爲它必須是通信/緩存相關問題)。如果有人有任何想法,我在聽。

+0

我想你遇到了Ajax請求沒有被緩存的問題。我不太確定你是否可以啓用它,但你可以嘗試在[本博客條目]中給出的建議(http://blog.httpwatch.com/2009/08/07/ajax-caching-two-important-事實/) – 2013-03-26 19:36:24

回答

0

我睡了,我似乎早上解決了它。

無論出於何種原因,每次調用.JSP文件時都使用與以前完全相同的過程,而不是每次都從頭重新加載和重新創建頁面。我不知道爲什麼,但我想這可能是我不知道的服務器上的設置。

我重申了默認主程序中的變量重置,現在它正常工作。