如何在jQuery中反序列化一个很长的查询字符串?

AKW*_*KWF 1 jquery jquery-bbq

我正在试图弄清楚如何在我的AJAX应用程序中启用后退和前进按钮,这是动态的和数据库驱动的.为了捕获状态,我在关联数组中捕获url,type和data的一些值.

我在'hashchange'事件期间从浏览器返回哈希字符串,我只是不知道如何将它从编码的查询字符串转回到关联数组中.有人可以帮忙吗?

Jos*_*ell 6

这样的事情?

var hash = 'one=1&two=2',
    split = hash.split('&');

var obj = {};
for(var i = 0; i < split.length; i++){
    var kv = split[i].split('=');
    obj[kv[0]] = decodeURIComponent(kv[1] ? kv[1].replace(/\+/g, ' ') : kv[1]);
}
console.log(obj);
Run Code Online (Sandbox Code Playgroud)