2013-03-26 66 views
1


我想知道如何防止Titanium.Network.HTTPClient緩存我的responseData?這發生在目錄/sdcard/Android/data/com.packagename/cache/_tmp上的android中,文件遵循這種模式的文件名爲tihttp-XXXXXXXXXXXtmp。我已經在應用程序私人數據目錄中實施了自定義緩存。所以我不需要它發生兩次,並浪費用戶寶貴的數據空間在他們的SD卡上。再加上SD卡中的緩存並不總是存在。Titanium.Network.HTTPClient緩存responseData。我如何防止這種情況發生?

回答

2
var client = Ti.Network.createHTTPClient({ 
    onload : function(e) { 
     Ti.API.info("Received text: " + this.responseText); 
     alert('success'); 
    }, 
    timeout : 5000, 
    cache : false, 

}); 

上述工作爲iPhone只有一點點的期待後,但如果你直接設置標頭的請求時,它應該爲iPhone和Android的工作:

client.setRequestHeader('Cache-Control','no-cache'); 
client.setRequestHeader('Cache-Control','no-store'); 

這必須調用打開之後,但在發送請求之前,即:

var client = Ti.Network.createHTTPClient(); 
client.open('GET','http://google.com/'); 
client.setRequestHeader('Cache-Control','no-cache'); 
client.setRequestHeader('Cache-Control','no-store'); 
client.send('nice'); 
+1

在文檔中它指出緩存屬性默認爲false。那麼,如果我明確聲明瞭緩存屬性,那麼這很重要嗎? – camelCaseD 2013-03-28 15:05:00

+0

答案已更新上面 – Macgyver 2013-03-28 15:50:35

相關問題