繁体   English   中英

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

[英]How to parse Multiple Values in one Cookie in Javascript

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

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

如何通过CookieValue解析以分配单个变量,以便可以将变量分配给5个部分中的每个部分?

我找到了用PHP而不是javascript做到这一点的方法。

在此先感谢您的任何建议。

使用String.split(delimiter)方法

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

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

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

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

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

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

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

JSON.stringify和JSON.parse是您最好的选择(imho)

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

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

这样做还有一个好处,就是可以在对象/数组中设置键值。

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

我很快意识到,这是Split上的一个问题,而不是Cookie。 这是我想出的东西。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM