如何使用JavaScript从URL中获取变量并将其显示在屏幕上?

时间:2015-02-07 21:41:33

标签: javascript jquery

我使用以下脚本:

        function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
              var id_is = getQueryVariable("id");

document.write(id_is);

       return(false);

}

此脚本应获取变量值并将其显示在屏幕上。它只适用于我使用getQueryVariable(&#34; id&#34;);在控制台中,但使用document.write方法,它不起作用。我做错了什么?

3 个答案:

答案 0 :(得分:2)

您应该在加载页面时调用document.write。

<script type="text/javascript">

function getQueryVariable(variable)
{
   var query = window.location.search.substring(1);
   var vars = query.split("&");
   for (var i=0;i<vars.length;i++) {
           var pair = vars[i].split("=");
           if(pair[0] == variable){
            return pair[1];
          }
   }
}


var id_is = getQueryVariable("id");

window.onload = function(){
  document.write(id_is);
}
</script>

答案 1 :(得分:0)

您可以创建一个从URL获取查询参数的函数,例如:

function getURLParameter(name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}

如果查询为hello且等于world,即http://www.website.com/index.html?hello=world。 然后,您可以使用getURLParameter('hello')将其返回。

答案 2 :(得分:0)

var url =window.location.search;

function getQueryParam(name,url) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(url)||[,""])[1].replace(/\+/g, '%20'))||null
}

var result=getQueryParam(id,url);
document.write(result);