GET请求的Url拼接和参数获取

    科技2025-04-12  15

    平常工作中,如果没有封装好的框架,获取url中的请求参数是很麻烦的一件事。下列代码,解决了“将对象的值拼接到Url”和“从Url获取参数转换为对象”两个问题。

    /** * 拼接getUrl * @param url 地址 * @param params 请求参数 */ Layers.prototype.toGetUrl = function (url, params) { var idx = url.indexOf('?'); if (idx < 0) { url = url + '?'; } else if(idx !== url.length - 1){ if (url.charAt(url.length - 1) !== '&') { url = url + '&'; } } for (var key in params) { if (params.hasOwnProperty(key)) { var v = params[key]; if (v !== '') { url += key + '=' + params[key] + '&'; } } } return url; }; /** * 获取Url中的参数 * @param url 地址 */ Layers.prototype.getUrlParams = function (url) { var res = {}, idx = url.lastIndexOf('?'); if (idx > 0) { var p = url.substring(idx + 1, url.length); var arr = p.split('&'); for (var i = 0; i < arr.length; i++) { var a = arr[i].split('='); if (a.length > 1) { res[a[0]] = decodeURI(a[1]) } } } return res; };
    Processed: 0.009, SQL: 8