使用Javascript获取URL参数

Get URL Parameters Using Javascript

本文关键字:参数 URL 获取 Javascript 使用      更新时间:2023-09-26

我正在尝试获取ULR参数,但我的代码没有运行,因为在调试时它显示了一个错误,即:Cannot read property 'split' of undefined我不确定自己做错了什么。例如:default.html?pid=405我需要在JavaScript变量中获取405值。这是我正在使用的代码:

<script type="text/javascript">
    function getUrlParameters(parameter, staticURL, decode) {
        var currLocation = (staticURL.length) ? staticURL : window.location.search,
            parArr = currLocation.split("?")[1].split("&"),
            returnBool = true;
        for (var i = 0; i < parArr.length; i++) {
            parr = parArr[i].value.split("=");
            if (parr[0] == parameter) {
                return (decode) ? decodeURIComponent(parr[1]) : parr[1];
                returnBool = true;
            } else {
                returnBool = false;
            }
        }
        if (!returnBool) return false;
    }
</script>
<script type="text/javascript">
    function runDepo()
    {
        var idParameter = getUrlParameters("pid", "", true);
    }

有人能帮我吗?提前谢谢。

只需从parr = parArr[i].value.split("="); 中删除.value

function getUrlParameters(parameter, staticURL, decode) {
        var currLocation = (staticURL.length) ? staticURL : window.location.search,
            parArr = currLocation.split("?")[1].split("&"),
            returnBool = true;
        for (var i = 0; i < parArr.length; i++) {
            parr = parArr[i].split("=");
            if (parr[0] == parameter) {
                return (decode) ? decodeURIComponent(parr[1]) : parr[1];
                returnBool = true;
            } else {
                returnBool = false;
            }
        };
        if (!returnBool) return false;
    };
    
    document.getElementById('Result').value = getUrlParameters("pid", "default.html?pid=405", true);
    alert(getUrlParameters("pid", "default.html?pid=405", true));
PID : <input type="text" id="Result" placeholder="Result">