Titanium.Network.HTTPClient缓存响应数据。我该如何预防呢?

时间:2013-03-26 20:24:36

标签: android caching titanium


我想知道如何阻止Titanium.Network.HTTPClient缓存我的responseData?这发生在目录/sdcard/Android/data/com.packagename/cache/_tmp的android上,文件遵循这种模式的文件名为tihttp-XXXXXXXXXXXtmp。我已经在apps私有数据目录中实现了自定义缓存。所以我不需要它发生两次并浪费用户的SD卡上的宝贵数据空间。另外,SD卡中的缓存并不总是存在。

1 个答案:

答案 0 :(得分: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');