曲奇

2016-04-06 73 views
-1
function writeCookie() 
      { 
      document.cookie="employee=name,status,sal"; 
      document.cookie="dept = name,deptid"; 

      } 

這裏我設置了一些餅乾「名稱=值」(明確給出)曲奇

如果我想訪問根據「僱員」 &「部門」,那麼Cookie的我繼續。我做了這樣的var x = document.cookie。但它會獲取所有cookies。我想根據我設置的關鍵字(員工,部門)進行過濾。可以有人告訴我如何繼續?

回答

0

你可以使用這個功能嗎?來自http://www.w3schools.com/js/js_cookies.asp

var getCookie = function (cname) { 
     var name = cname + "="; 
     var ca = document.cookie.split(';'); 
     for (var i = 0; i < ca.length; i++) { 
      var c = ca[i]; 
      while (c.charAt(0) == ' ') c = c.substring(1); 
      if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 
     } 
     return ""; 
    } 

您可以在這裏找到一個完整的完整爲例:http://www.w3schools.com/js/tryit.asp?filename=tryjs_cookie_username

編輯:我添加了一個函數來獲取整個餅乾作爲數組getCookieArray。您可以在控制檯日誌中檢查結果。

var getCookie = function (cname) { 
 
     var name = cname + "="; 
 
     var ca = document.cookie.split(';'); 
 
     for (var i = 0; i < ca.length; i++) { 
 
      var c = ca[i]; 
 
      while (c.charAt(0) == ' ') c = c.substring(1); 
 
      if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 
 
     } 
 
     return ""; 
 
} 
 

 
var getCookieArray = function (cookieString) { 
 
     var subElements = cookieString.split(";"); 
 
     var subElemPairs = new Array(); 
 
     var subNameValues = new Array(); 
 

 
     for (i = 0; i < subElements.length; i++) { 
 
      subElemPairs[i] = subElements[i].split("="); 
 
     } 
 

 
     for (i = 0; i < subElemPairs.length; i++) { 
 
      subNameValues[subElemPairs[i][0]] = subElemPairs[i][1]; 
 
     } 
 
     return subNameValues; 
 
    } 
 

 
document.cookie="employee=name,status,sal"; 
 
document.cookie="dept=name,deptid"; 
 

 
alert(getCookie("employee")); 
 
alert(getCookie("dept")); 
 

 
console.log(getCookieArray(document.cookie));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

對不起,不完全理解。但是怎樣才能讓所有的cookies關聯到「員工」和「部門」鍵。請您解釋一下嗎? – danny

+0

如果你做'document.cookie ='employee = name,status,sal';'你可以通過getCookie(「employee」)得到這個值,你將得到「name,status,sal」。我將用一個小提琴例句更新我的答案。 –