将对象格式转为url拼接的参数
直接调用 paddStringToUrl
/**
* encodeToURIString 把一个对象类型转化为问号参数类型的字符串
* @param data 要解析的对象
* @param isUIR 是否转化为URIComponent,默认转化,只有当值为false时,不转化
* @returns '' 问号参数类型的字符串
*/
var encodeToURIString = function (data, isUIR) {
//默认参数isUIR不为false,值皆为true
if (isUIR !== false) {
isUIR = true;
}
var ary = [];
if (Object.prototype.toString.call(data) === '[object Object]') {
for (var key in data) {
if (data.hasOwnProperty(key)) {
if (isUIR) {
try {
key = decodeURIComponent(key);
data[key] = decodeURIComponent(data[key]);
ary.push(key + '=' + encodeURIComponent(data[key]));
} catch (ex) {
ary.push(key + '=' + data[key]);
}
} else {
ary.push(key + '=' + data[key]);
}
}
}
}
return ary.join('&');
};
/**
* paddStringToUrl 将对象转化为问号参数形式添加在url地址的后面,会进行URI编码处理
* @param url 原url地址
* @param param 参数对象
* @returns '' 返回拼接好的新url地址
*/
function paddStringToUrl(url, param) {
if (!param) {
return url;
}
var hasSearch = /\?/.test(url);
var data = encodeToURIString(param);
return url + (hasSearch ? '&' : '?') + data;
}