js 拼接url和参数

class Url {
    /**
     * 传入对象返回url参数
     * @param {Object} data {a:1}
     * @returns {string}
     */
    getParam(data){
        let url = '';
        for(var k in data){
            let value = data[k] !==undefined ? data[k] : '';
            url += `&${k}=${encodeURIComponent(value)}`
        }
        return url ? url.substring(1) : ''
    }

    /**
     * 将url和参数拼接成完整地址
     * @param {string} url url地址
     * @param {Json} data json对象
     * @returns {string}
     */
    getUrl(url, data){
        //看原始url地址中开头是否带?,然后拼接处理好的参数
        return url += (url.indexOf('?') < 0 ? '?' : '') + this.getParam(data)
    }
}

let URL = new Url();
let newUrl = URL.getUrl("http://nodejs.cn",{a:1}); //http://nodejs.cn?a=1

 


版权声明:本文为qq_35014708原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。