作者bmzz (bmzz)
看板Flash
標題[問題] Flex 的 HTTPService
時間Sun Jan 24 14:24:05 2010
此問題已解決,將解決的方式整理一下。
除了a大的提示,我也參考了
http://topic.csdn.net/u/20080618/14/1a61c619-542c-43d4-8197-2c0b0546c83b.html
===========
原本
<mx:HTTPService id="service"
url="data.xml"
...
/>
修改後
<mx:HTTPService id="service"
url="{'data.xml?random=' + Math.random().toString()}"
...
/>
便可欺騙瀏覽器每次都是不同的 Request,缺點是
「Temporary Internet Files」內,會產生一堆
data.xml?random=0.1234545444
data.xml?random=0.4587777454
....
=======================================================
過程是這樣的,
我將資料放置在一個 xml 檔案內,並利用 Flex MXML 的
<mx:HTTPService id="service" url="data.xml"
useProxy="false" method="POST"
result="serviceResponse(event)"
/>
將資料取出,並呈現在一份 table 中。
以上,都還正常,資料也有正確呈現在 table 上。
========
但當我更動 Server 端的 data.xml 時,我發現 Client(IE7) 不管我
如何重新整理 test.swf ,更改過的 data.xml 資料就是不會更新,
table 中依然還是舊的資料,必須「刪除所有瀏覽歷程紀錄」或是至
http://serverIP/data.xml 按下重新整理才會更新。
這個問題我在 html + jQuery 時也有遇到過,當時是在
$.ajax({
...
cache: false,
...
});
加個 cache:false 就解決這個問題了。
不知道有沒有先進處理過這個問題?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.31.28
※ 編輯: bmzz 來自: 61.217.31.28 (01/24 14:31)
→ aquarianboy:試試看給你的xml路徑加個亂數,如data.xml?r=121212 01/24 15:13
→ aquarianboy:121212是random()長出來的 01/24 15:14
→ bmzz:.....random=' + Math.random().toString().... 01/24 15:16
→ bmzz:我剛好也 Search 到一樣的方式,但還是不行.... 01/24 15:16
→ bmzz:a大的方法是可以的..真是抱歉..浪費a大的時間了 01/24 15:26
→ bmzz:因為我編譯好,雖丟進 Server 資料夾內,但 Client 01/24 15:27
→ bmzz:未先刪除所有歷程紀錄(把 test.swf 刪掉) 01/24 15:27
→ bmzz:所以它一直用舊的 swf 檔案,自然不行..感謝a大 & Sorry! 01/24 15:27
※ 編輯: bmzz 來自: 61.217.31.28 (01/24 15:35)
→ bmzz:為了找這個問題我一堆儲存的表單都要從 key 了XD 01/24 15:37
※ 編輯: bmzz 來自: 61.217.31.28 (01/24 15:56)