日期:2014-05-16  浏览次数:20347 次

这种格式的cookie,有什么方便的方法直接读的吗
像这样的
a=5&b=6&c=7&d=8
有什么原生的方法,或者第三方插件能方便的把这种东西转成javascript 对象,把javascript 对象转成这种形式

------解决方案--------------------
split('&');
split("=");
------解决方案--------------------
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
    var o = { a: 1, b: 2, c: 3, d: 4 }
    var s = $.param(o);
    alert(s)
    var arr = s.split('&'), item;
    var NO = {};
    for (var i = 0; i < arr.length; i++) {
        item = arr[i].split('=');
        NO[item[0]] = item[1];
    }
    console.log(NO);
</script>

------解决方案--------------------
jq 有一个 param 方法可以将 json 对象序列化成串
但没有提供相应的反序列化方法,不过可以自己写一个备用
$.unparam = function(s) {
  var t = s.split(/&
------解决方案--------------------
=/);
  var r = {};
  for(var i=0; i<t.length; i+=2) r[t[i]] = t[i+1];
  return r;
}

于是对于 a=5&b=6&c=7&d=8 就有
x = $.unparam('a=5&b=6&c=7&d=8');
alert(x.b);
输出 6