首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery:如何获取url的参数?

jQuery:如何获取url的参数?
EN

Stack Overflow用户
提问于 2011-02-22 12:04:58
回答 7查看 85.9K关注 0票数 19

刚接触jQuery时,我在获取服务器生成的url的参数时遇到了问题。我有一个这样的url:

代码语言:javascript
复制
<span class="popuptest"><a href="www.example.com/test?param1=1&param2=2">find param</a></span>

我的jquery函数如下所示:

代码语言:javascript
复制
$(function() {
  $('.popuptest a').live('click', function(event) {
  $.extend({
    getUrlVars: function(){
      var vars = [], hash;
      var hashes = this.href.slice(this.href.indexOf('?') + 1).split('&');
      for(var i = 0; i < hashes.length; i++)
      {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
      }
      return vars;
    },
    getUrlVar: function(name){
      return $.getUrlVars()[name];
    }
  });
  var second = getUrlVars()["param2"];
  alert(second);
  return false;
  });
});

点击链接应该会显示"2",但是我什么都没有看到...对jQuery新手有什么帮助吗?提前感谢!

我在一个博客上找到了这个:http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

EN

回答 7

Stack Overflow用户

发布于 2013-05-30 23:37:58

小小的改进,只解析一次url,返回array或params:

代码语言:javascript
复制
function getURLParameters(url){

    var result = {};
    var hashIndex = url.indexOf("#");
    if (hashIndex > 0)
       url = url.substr(0, hashIndex);        
    var searchIndex = url.indexOf("?");
    if (searchIndex == -1 ) return result;
    var sPageURL = url.substring(searchIndex +1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++)
    {       
        var sParameterName = sURLVariables[i].split('=');      
        result[sParameterName[0]] = sParameterName[1];
    }
    return result;
}

http://jsfiddle.net/shakhal/gXM3u/

票数 12
EN

Stack Overflow用户

发布于 2014-01-22 18:43:51

这非常简单,你所要做的就是把你想要的变量名从URL放到这个函数中,然后它会返回URL变量的值

代码语言:javascript
复制
function getParameterByName(name) {
 return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}
票数 7
EN

Stack Overflow用户

发布于 2013-11-20 17:36:05

代码语言:javascript
复制
function getURLParameter(name) {
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
    );
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5073859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档