GET請求的Url拼接和參數獲取


平常工作中,如果沒有封裝好的框架,獲取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;
    };

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM