將對象格式轉為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;
}