如何使用jquery更新序列化的Cookie值?

时间:2016-12-05 04:57:29

标签: javascript jquery arrays cookies serialization

嗨我有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的大小变得更大,我会担心性能。

0 个答案:

没有答案