嗨我有cookie,它具有序列化参数的价值。
i.e)criteria = "name=praveen&age=25&studying=false&working=true&something=value"
现在我必须在此cookie字符串中更新name = praveenkumar,age = 24,something = null。如果value为null(something = null),则应从cookie中删除它。以下是我正在使用的代码。
updateCookie({'name':'praveenkumar','age':24,'something':null})
var updateCookie = function(params) {
// split the cookie into array
var arr = $.cookie('criteria').split("&");
//loop through each element
for(var i = arr.length - 1; i >= 0; i--) {
// getting the key i.e) name,age
var key = arr[i].split("=")[0];
// if the key is in given param updating the value
if( key in params) {
// if vale null remove the element from array or update the value
if(params[key] !== null) {
arr[i] = key+"="+params[key];
}
else {
arr.splice(i, 1);
}
}
}
// join array by & to frame cookie string again
$.cookie('criteria' , arr.join("&"));
};
它正在发挥作用。但是如果cookie的大小变得更大,我会担心性能。