获取url参数 - 控制台中的错误

时间:2016-01-25 10:24:25

标签: javascript

我在第getUrlVars() {行的控制台中收到错误

  

未捕获的SyntaxError:意外的令牌{

<!DOCTYPE html>
<html>

<head>
<script>

document.getElementById('myelement').onclick = function() {
    function getUrlVars() {
        var url = window.location.href;
        console.log(url.substring(url.indexOf('?')));
    }
}

</script>
</head>

<body>

<a id="myelement" href="#">some link</a>

</body>
</html>

如何解决?

3 个答案:

答案 0 :(得分:0)

如果这是您的实际代码,请注意:您尚未放置&#34;命令行标记的结尾&#34; ;结尾的getUrlVars()document.getElementById('myelement').onclick行的document.getElementById('myelement').onclick = function() { var url = window.location.href; console.log(url.substring(url.indexOf('?'))); }; 行。此外,您正在创建一个创建函数的函数,这是不必要的。

试试这个:

{{1}}

答案 1 :(得分:0)

请尝试以下JS,

window.onload = function() {
    document.getElementById('myelement').onclick = function getUrlVars() {
      var url = window.location.href;
      console.log(url.substring(url.indexOf('?')));
    }
  }

变更:

a)将在窗口加载完成后执行任何操作

b)函数getUrlVars是锚点标记

上发生单击时的函数

这是一个fiddle LINK

答案 2 :(得分:0)

这是一个小JS,允许您根据名称从queryString中获取参数。

<script>
    var getUrlParameter = function getUrlParameter(sParam) {
        var sPageURL = decodeURIComponent(window.location.search.substring(1)),
                sURLVariables = sPageURL.split('&'),
                sParameterName,
                i;

        for (i = 0; i < sURLVariables.length; i++) {
            sParameterName = sURLVariables[i].split('=');

            if (sParameterName[0] === sParam) {
                return sParameterName[1] === undefined ? true : sParameterName[1];
            }
        }
    };
</script>

如何使用脚本作为参数:

<script>
    $(document).ready(function(){
        if(getUrlParameter("numeParametru "))
          alert(getUrlParameter("ParameterName"));
          var myParam = getUrlParameter("ParameterName");
          //do stuff;
    });
</script>

像这样,如果参数存在,你可以随心所欲地做任何事情。