使用Javascript获取URL参数

使用Javascript获取URL参数,javascript,html,url,parameters,Javascript,Html,Url,Parameters,我正在尝试获取ULR参数,但我的代码没有运行,因为在调试时它显示了一个错误:无法读取未定义的属性“split” 我不确定我做错了什么。 例如:default.html?pid=405我需要在JavaScript变量中输入405值。这是我正在使用的代码: <script type="text/javascript"> function getUrlParameters(parameter, staticURL, decode) { var currLocatio

我正在尝试获取ULR参数,但我的代码没有运行,因为在调试时它显示了一个错误:
无法读取未定义的属性“split”
我不确定我做错了什么。 例如:
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);
    }

函数getUrlParameters(参数、静态URL、解码){
var currLocation=(staticURL.length)?staticURL:window.location.search,
parArr=currLocation.split(“?”[1]。split(“&”),
returnBool=true;
对于(变量i=0;i

有人能帮我吗?提前谢谢

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

函数getUrlParameters(参数、静态URL、解码){ var currLocation=(staticURL.length)?staticURL:window.location.search, parArr=currLocation.split(“?”[1]。split(“&”), returnBool=true; 对于(变量i=0;i
PID:
只需从
parr=parArr[i].value.split(“=”)中删除
.value

函数getUrlParameters(参数、静态URL、解码){ var currLocation=(staticURL.length)?staticURL:window.location.search, parArr=currLocation.split(“?”[1]。split(“&”), returnBool=true; 对于(变量i=0;i
PID:
哪一行抛出该错误?parr=parArr[i].value.split(“=”)可能重复;它不是重复的如果
parArr
实际上是一个数组,那么您只需使用
parArr[i]。split(“=”)
哪一行抛出了该错误?parr=parArr[i]的可能重复项。value.split(“=”);它不是重复的如果
parArr
实际上是一个数组,那么您只需要使用
parArr[i]。split(“=”
我尝试过这个,但是我应该对这个
警报进行编码(getUrlParameters(“pid”,“default.html?pid=405”,true))
有没有办法不写它?@Lanshore没有,它只是为了测试功能,但你想在哪里显示结果?将此作为答案发布,我自己无法回答,我自己解决了。
function getUrlVars(){var vars={};var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,函数(m,key,value){vars[key]=value;});返回vars;}var first=getUrlVars()[“pid”]这是一种更好的获取所需内容的方法。我尝试过这种方法,但我是否必须编写这种
警报(getUrlParameters(“pid”,“default.html?pid=405”,true))
有没有办法不写它?@Lanshore没有,它只是为了测试功能,但你想在哪里显示结果?将此作为答案发布,我自己无法回答,我自己解决了。
function getUrlVars(){var vars={};var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,函数(m,key,value){vars[key]=value;});返回vars;}var first=getUrlVars()[“pid”]这是一个更好的方式来获得我需要的。