2013-03-26 56 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

相关问题