假设我有以下网址:
something.com/messages/username/id
如何获得username
或id
?
答案 0 :(得分:8)
您可以使用String.split
:
var parts = window.location.href.split('/'); # => ["http:", "", "something.com", "messages", "username", "id"]
var username = parts[4];
var id = parseInt(parts[5]);
答案 1 :(得分:4)
我猜您可以使用window.location.href获取网址,然后使用string.split() /
上的网址。
var urlParts = window.location.href.split("/");
var username = urlParts[4];
var id = urlParts[5];
答案 2 :(得分:3)
你可以在每个'/'字符上拆分你的网址:
var url = "something.com/messages/username/id";
var array = url.split('/');
// array[2] contains username and array[3] contains id
答案 3 :(得分:3)
我实际上只是必须在前几天处理。当您访问某些页面的缓存版本时,查询字符串实际上是URL路径的一部分。但是,如果您尝试避免缓存,则使用查询字符串。
鉴于How to get the value from the GET parameters?中的一个答案,我正在使用它来部分规范化访问。
接收响应的路由器_.isArray()
(我们建立在主干之上,因此我们有下划线可用)并处理以不同方式从对象或数组中提取数据。
最后的slice
摆脱了两个""
因为我们没有使用文档,只有目录和我们的网址以/
开头和结尾。如果您正在寻找文档访问权限,则应相应地更改slice
。
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;
};