function parseParams(str) { return str.split('&').reduce(function (params, param) { var paramSplit = param.split('=').map(function (value) { return decodeURIComponent(value.replace(/\+/g, ' ')); }); params[paramSplit[0]] = paramSplit[1]; return params; }, {}); }
function params_unserialize(p){ var ret = {}, seg = p.replace(/^\?/,'').split('&'), len = seg.length, i = 0, s; for (;i<len;i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret;}