0

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

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

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

我已经找到了用 PHP 但不是 javascript 来做到这一点的方法。

提前感谢您的任何建议。

4

5 回答 5

1

使用 String.split(delimiter) 方法

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

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

于 2012-07-06T01:15:25.280 回答
0

我很快意识到这更多的是关于拆分的问题,而不是关于 cookie 的问题。这是我想出的。

var splits = ExampleCookie.split(","); 
var slot1 = splits[0]; 
var slot2 = splits[1]; 
var slot3 = splits[2]; etc.
于 2012-07-06T20:25:23.977 回答
0

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

CookieParams = CookieValue.split(",");
CookieParams[0] = Foo
CookieParams[1] = Bar
于 2012-07-06T01:18:33.093 回答
0

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

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

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

于 2012-07-06T01:18:54.450 回答
0

JSON.stringify 和 JSON.parse是你最好的最干净的赌注(恕我直言)

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

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

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

假设您使用的是在quirks 模式下找到的函数,只需确保字符串化的 cookie 值不会超过大多数浏览器中的4000 字符限制

于 2012-07-06T01:19:35.060 回答