使用 jQuery 从 QueryString 读取 ID [重复]

Posted

技术标签:

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

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

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

【问题讨论】:

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

【讨论】:

以上是关于使用 jQuery 从 QueryString 读取 ID [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery / Javascript (querystring) 获取查询字符串参数 url 值

Jquery获得Request QueryString

JS获取QueryString(Jquery)

JS获取QueryString(Jquery)

使用JavaScript从当前URL的QueryString中获取指定的参数

使用JavaScript从当前URL的QueryString中获取指定的参数