在Javascript中,如果您serialize()
键/值数组对,那么您将获得类似single=Single&multiple=Multiple
的内容。有没有办法“反序列化”此字符串以再次获取键/值对数组?如果没有,最有效的方法是什么?
答案 0 :(得分:0)
在这里回答:https://stackoverflow.com/a/10126995/183181
var str = 'single=Single&multiple=Multiple';
console.log( getParams(str) );
function getParams (str) {
var queryString = str || window.location.search || '';
var keyValPairs = [];
var params = {};
queryString = queryString.replace(/.*?\?/,"");
if (queryString.length)
{
keyValPairs = queryString.split('&');
for (pairNum in keyValPairs)
{
var key = keyValPairs[pairNum].split('=')[0];
if (!key.length) continue;
if (typeof params[key] === 'undefined')
params[key] = [];
params[key].push(keyValPairs[pairNum].split('=')[1]);
}
}
return params;
}