var parseParam = function(param, key) {
var paramStr = "";
if (param instanceof String || param instanceof Number || param instanceof Boolean) {
paramStr += "&" + key + "=" + encodeURIComponent(param);
} else {
$.each(param, function(i) {
var k = key == null ? i : key + (param instanceof Array ? "[" + i + "]" : "." + i);
paramStr += '&' + parseParam(this, k);
});
}
return paramStr.substr(1);
};
var obj = {
name: 'tom',
'class': {
className: 'class1'
},
classMates: [{
name: 'lily'
}]
};
parseParam(obj);
//结果: "name=tom&class.className=class1&classMates[0].name=lily"
parseParam(obj, 'stu');
//结果: "stu.name=tom&stu.class.className=class1&stu.classMates[0].name=lily"
//对象转换参数拼接
parseParam: function(params) {
let paramsArray = [];
var url = "";
//拼接参数
Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key]))
if (url.search(/\?/) === -1) {
url += '?' + paramsArray.join('&')
} else {
url += '&' + paramsArray.join('&')
}
return url;
}