簡體   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