2014-09-25 32 views
0

我正在嘗試使用TideSDK的Ti.Network來設置我的cookie的名稱和值。 但是,如何從其他頁面獲取此Cookie的價值?TideSDK如何保存要在不同文件中訪問的cookie信息?

  var httpcli; 
      httpcli = Ti.Network.createHTTPCookie(); 
      httpcli.setName(cname); //cname is my cookie name 
      httpcli.setValue(cvalue); //cvalue is the value that I am going to give my cookie 
      alert("COOKIE value is: "+httpcli.getValue()); 

我該如何從我的下一頁檢索這個cookie值?先謝謝你!

回答

1

好吧,有很多方法可以在tidesdk上創建存儲內容。餅乾可以是其中之一,但不是必需的。我個人認爲cookie的存儲信息太有限,所以我建議你將用戶信息存儲在一個JSON文件中,這樣你就可以從單個信息存儲到大型結構(取決於項目)。假設您有一個客戶端必須存儲應用程序配置(如「首選路徑」)來存儲文件或保存字符串(如名字,姓氏)的項目,您可以使用Ti.FileSystem存儲和讀取此類信息:

在下面的例子中

,我使用jQuery讀取文件的存儲JSON字符串:

文件的內容(conf.json):

{ 
    "fname" : "erick", 
    "lname" : "rodriguez", 
    "customFolder" : "c:\\myApp\\userConfig\\" 
} 

注:由於某些原因,Tidesdk無法解析JSON結構,因爲它將conf.json解釋爲文本文件,所以如果刪除所有的製表符和空格,解析將工作:

{"fname":"erick","lname":"rodriguez","customFolder":"c:\\myApp\\userConfig\\"} 

現在讓我們來讀吧....(myappfolder爲您的存儲文件夾的路徑)

readfi = Ti.Filesystem.getFile(myappfolder,"conf.json"); 
Stream = Ti.Filesystem.getFileStream(readfi); 
Stream.open(Ti.Filesystem.MODE_READ); 
contents = Stream.read(); 
contents = JSON.parse(contents.toString); 
console.log(contents); 

現在讓我們來存儲它....

function saveFile(pathToFile) { 
    var readfi,Stream,contents; 
    readfi = Ti.Filesystem.getFile(pathToFile); 
    Stream = Ti.Filesystem.getFileStream(readfi); 
    Stream.open(Ti.Filesystem.MODE_READ); 
    contents = Stream.read(); 
    return contents.toString(); 
}; 

//if a JSON var is defined into js, there is no problem 
var jsonObject = { 
    "fname":"joe", 
    "lname":"doe", 
    "customFolder" : "c:\\joe\\folder\\" 
} 

var file = pathToMyAppStorage + "\\" + "conf.json"; 
var saved = writeTextFile(file,JSON.stringify(jsonObject)); 
console.log(saved);