如何使用javascript获取url参数

如何使用javascript获取url参数,javascript,Javascript,假设我有以下url: something.com/messages/username/id 如何获取用户名或id 您可以使用: var parts = window.location.href.split('/'); # => ["http:", "", "something.com", "messages", "username", "id"] var username = parts[4]; var id = parseInt(parts[5]); 您可以使用: var parts

假设我有以下url:

something.com/messages/username/id
如何获取
用户名
id

您可以使用:

var parts = window.location.href.split('/'); # => ["http:", "", "something.com", "messages", "username", "id"]
var username = parts[4];
var id = parseInt(parts[5]);
您可以使用:

var parts = window.location.href.split('/'); # => ["http:", "", "something.com", "messages", "username", "id"]
var username = parts[4];
var id = parseInt(parts[5]);

您可以在每个“/”字符上拆分url,如下所示:

var url = "something.com/messages/username/id"; 
var array = url.split('/');
// array[2] contains username and array[3] contains id

您可以在每个“/”字符上拆分url,如下所示:

var url = "something.com/messages/username/id"; 
var array = url.split('/');
// array[2] contains username and array[3] contains id
我想您可以使用获取URL,然后在
/
上获取URL

var urlParts = window.location.href.split("/");
var username = urlParts[4];
var id = urlParts[5];
我想您可以使用获取URL,然后在
/
上获取URL

var urlParts = window.location.href.split("/");
var username = urlParts[4];
var id = urlParts[5];

事实上,前几天我不得不应付。当您访问某些页面的缓存版本时,查询字符串实际上是URL路径的一部分。但如果您试图避免缓存,则使用查询字符串

这里给出的一个答案是我用来部分规范访问的

接收响应的路由器执行
。.isArray()
(我们构建在主干之上,因此我们有下划线可用),并以不同的方式处理从对象或数组中提取数据的操作

最后的
部分
去掉了两个
,因为我们不使用文档,只使用目录和URL以
/
开头和结尾。如果您正在查找文档访问,则应相应地更改
切片

var qs = function(){
    if(window.location.search){
        var query_string = {};            
        (function () {
            var e,
                a = /\+/g,  // Regex for replacing addition symbol with a space
                r = /([^&=]+)=?([^&]*)/g,
                d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
                q = window.location.search.substring(1);

            while (e = r.exec(q)){
               query_string[d(e[1])] = d(e[2]);
            }
        })();
    } else {
        return window.location.pathname.split('/').slice(1, -1);
    }
    return query_string;
};

事实上,前几天我不得不应付。当您访问某些页面的缓存版本时,查询字符串实际上是URL路径的一部分。但如果您试图避免缓存,则使用查询字符串

这里给出的一个答案是我用来部分规范访问的

接收响应的路由器执行
。.isArray()
(我们构建在主干之上,因此我们有下划线可用),并以不同的方式处理从对象或数组中提取数据的操作

最后的
部分
去掉了两个
,因为我们不使用文档,只使用目录和URL以
/
开头和结尾。如果您正在查找文档访问,则应相应地更改
切片

var qs = function(){
    if(window.location.search){
        var query_string = {};            
        (function () {
            var e,
                a = /\+/g,  // Regex for replacing addition symbol with a space
                r = /([^&=]+)=?([^&]*)/g,
                d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
                q = window.location.search.substring(1);

            while (e = r.exec(q)){
               query_string[d(e[1])] = d(e[2]);
            }
        })();
    } else {
        return window.location.pathname.split('/').slice(1, -1);
    }
    return query_string;
};

你可以像其他人解释的那样进行拆分,但是要注意URL的最后一个字符是条,那么拆分将返回一个空字符串作为最后一项。要删除它(如果存在),可以使用MYSTRING.replace(/\/$/,“”)@EliseuMonar:您可以简单地使用正向索引(从一开始)。有什么问题吗?我在这里看到的所有解决方案在URL末尾有一个斜杠的情况下也可以使用。你可以像其他人解释的那样进行拆分,但是要注意URL的最后一个字符是条,那么拆分将返回一个空字符串作为最后一项。要删除它(如果存在),可以使用MYSTRING.replace(/\/$/,“”)@EliseuMonar:您可以简单地使用正向索引(从一开始)。有什么问题吗?如果URL末尾有斜杠,我在这里看到的所有解决方案也都有效。