2013-08-27 73 views
0

如何向cookie添加(使用JavaScript)鍵值對?從JavaScript創建字典cookie

該Cookie應該像這樣

 string userID = Request.Cookies["UserData"]["UserID"]; 
     string token = Request.Cookies["UserData"]["Token"]; 

C#代碼讀取它應該像這樣開頭

document.cookie=... 
+0

鍵值對具有相同的cookie名 – gumenimeda

+0

MDN有閱讀一篇關於['document.coo kie'](https://developer.mozilla.org/en-US/docs/Web/API/document.cookie) –

+1

'document.cookie =「UserData = UserID = foo&Token = Bar」'。如果你想要一個持久性cookie,你還需要添加一個Expires指令。 – EricLaw

回答

0

如果我設置的,而不是試圖讀取值,我得到了這種格式Cookie:

name=BLA&age=100 

所以你只需要設置一個URL格式的cookie 。

而且您應該在設置爲cookie之前對值進行編碼,並在服務器端使用HttpUtility.UrlDecode來獲得您期望的值。


此代碼

Response.Cookies["UserData"]["Name"] = HttpUtility.UrlEncode("BL&&&)(@!^A"); 
Response.Cookies["UserData"]["Age"] = "100"; 

生成此cookie

Name=BL%26%26%26)(%40!%5eA&Age=100 

,我使用

var value1 = HttpUtility.UrlDecode(Request.Cookies["UserData"]["Name"]); 
var value2 = HttpUtility.UrlDecode(Request.Cookies["UserData"]["Age"]);