如何在Javascript中解析一个Cookie中的多个值

时间:2012-07-06 01:11:06

标签: javascript cookies

我有一个cookie,用于在一个cookie中存储由逗号分隔的5个值。我可以按如下方式检索ExampleCookie的值(例如):

var CookieValue = readCookie('ExampleCookie'); //返回Foo,Bar,Foo1,FooFighter,Bar2

如何解析CookieValue以分配单个变量,以便我可以为5个部分中的每个部分分配一个变量?

我已经找到了使用PHP但不是javascript的方法。

提前感谢任何建议。

5 个答案:

答案 0 :(得分:2)

使用String.split(分隔符)方法

var array = readCookie('ExCook').split(",");

参考: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split

答案 1 :(得分:0)

你需要从字符串中创建一个数组:

CookieParams = CookieValue.split(",");
CookieParams[0] = Foo
CookieParams[1] = Bar

答案 2 :(得分:0)

您可以通过split()方法将CookieValue拆分为数组中的各个值。

var valList = CookieValue.split(','); // [“Foo”,“Bar”,“Foo1”,“FooFighter”,“Bar2”]

如果您希望将值分配给单个变量,则需要循环遍历数组并手动进行分配。

答案 3 :(得分:0)

JSON.stringify, and JSON.parse是您最干净的投注(imho)

var values = JSON.parse(readCookie('ExampleCookie'));

createCookie('ExampleCookie',JSON.stringify(values));

这具有能够在对象/数组中设置键值的额外好处。

假设您正在使用quirks mode中的功能,请确保您的Cookie值字符串不会超过大多数浏览器中的4000 char limit

答案 4 :(得分:0)

我很快意识到这对斯普利特而言比关于cookie更多。这就是我提出来的事情。

var splits = ExampleCookie.split(","); 
var slot1 = splits[0]; 
var slot2 = splits[1]; 
var slot3 = splits[2]; etc.
相关问题