url参数解析为一个对象与序列化数据为URL参数
2019-05-07 本文已影响2人
全栈弄潮儿
url参数解析为一个对象
const url_t = "http://www.taobao.com/index.html?key0=0&key1=1&key2=2";
function parseQueryString(url){
let result = {};
if(!url || ('string' !== typeof url && String !== url.constructor)){
return result;
}
const str = url.split("?");
const items = str && str.length > 1 ? str[1].split("&") : [];
let arr = [];
for(let i=0; i<items.length; i++) {
arr=items[i].split("=");
result[arr[0]]=arr[1];
}
return result;
}
const obj=parseQueryString(url_t);
console.log(obj)
序列化数据为URL参数
function serialize(data) {
const queryList = Object.keys(data).map((key) => {
return key + '=' + encodeURIComponent(data[key]);
});
return queryList.join('&');
}
const data = {
key0: 0,
key1: 1,
key2: 2
}
serialize(data );