1. 程式人生 > 其它 >js獲取url引數,以及中文亂碼問題

js獲取url引數,以及中文亂碼問題

// 兩種獲取方法
function GetQueryString(parameter) {
    var reg = new RegExp("(^|&)" + parameter + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        if (parameter == "deId") {
            $("#deId").val(r[2]);
        }
        if (parameter == "deName") {
            $("#deName").val(decodeURI(r[2]));//解決中文亂碼
        }
    }
}

function getRequest() {
        var url = location.search; //獲取url中"?"符後的字串
        var theRequest = new Object();
        if(url.indexOf("?") != -1) {
            var str = url.substr(1);
            var strs = str.split("&");
            for(var i = 0; i < strs.length; i++) {
                theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
            }
        }
        return theRequest;
}


// 如果獲取時出現亂碼請檢視是不是使用了unescape來解碼url的引數,替換為decodeURIComponent或decodeURI即可,unescape和escape即將被廢棄

// 另外:encodeURIComponent或encodeURI編碼方式相同,對於整個url來說,前者會編碼url中的; / ? : @ & = + $ , # 後者不會編碼

來自:https://www.cnblogs.com/benlightning/p/9532970.html