【问题标题】:Read ID from QueryString with jQuery [duplicate]使用 jQuery 从 QueryString 读取 ID [重复]
【发布时间】:2014-03-05 10:09:29
【问题描述】:

我想用 jQuery 从QueryString 中读取一个 ID;我怎样才能有效地做到这一点?

有没有类似$.QueryString的方法?

【问题讨论】:

  • “有没有像 $.QueryString 之类的方法” 可以,只是你还没有创建它。 jquery 中没有内置的东西可以做到这一点。
  • 你指的是什么“id”?能举个例子吗?
  • @RocketHazmat myURL?id=123 如何使用 Jquery 获得 123 ???
  • @KevinB,它的 this 插件
  • @Satpal 我假设 OP 不知道该插件的存在,他正确命名它只是巧合。 :p

标签: javascript jquery


【解决方案1】:

我用这个,不需要额外的库:

//
// Given a parameter name, returns the corresponding querystring parameter.
//
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.search);
    if (results == null)
        return "";
    else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
}

示例用法:

Id = parseInt(getParameterByName("id")) || 0;

【讨论】:

    【解决方案2】:

    假设您正在使用jQuery - Querystring

     var id = $.QueryString("paramter");  
    

    注意:如果查询字符串不存在或查询字符串存在则返回null

    【讨论】:

      【解决方案3】:

      我发现这可能对某人有帮助

      (function ($) {
      $.QueryString = (function (a) {
          if (a == "") return {};
          var b = {};
          for (var i = 0; i < a.length; ++i) {
              var p = a[i].split('=');
              if (p.length != 2) continue;
              b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
          }
          return b;
      })(window.location.search.substr(1).split('&'))
      })(jQuery);
      
      var id = $.QueryString["id"];
      

      【讨论】:

        猜你喜欢
        • 2020-03-19
        • 1970-01-01
        • 2016-09-13
        • 2015-09-07
        • 1970-01-01
        • 2013-09-06
        • 2020-03-30
        • 2018-08-27
        • 2010-12-08
        相关资源
        最近更新 更多