如果我有像"/api/User/Details/2c021192-25cb-43e1-9bba-3bd5604a0a3d"
这样的URl,那么从URL客户端获取ID "2c02ds92-25cb-43e1-9bba-3bd5604a0a3d"
的最佳方法是什么?
我需要能够使用ID构建$.getJSON
请求,并且我正在寻找使用JavaScript,jQuery等做到最简单的方法。谢谢
$.getJSON('/api/User/2c021192-25cb-43e1-9bba-3bd5604a0a3d')...
答案 0 :(得分:2)
使用regular expressions并从网址中提取相应的部分(似乎是UUID)。
另一种方法是将字符串拆分为/
并获取最后一个元素。
编辑:有关如何从URI检索UUID的示例:
var url = '/api/User/2c021192-25cb-43e1-9bba-3bd5604a0a3d';
var pattern = /[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}/;
var match = url.match(pattern)[0];
url.match(pattern)
返回匹配数组,因此假设至少有一个匹配,并且只有一个匹配,则应该选择它(使用[0]
,如示例所示)。
证明:http://jsfiddle.net/p6zud/2/
编辑2 :缩短用于匹配的模式(请参阅修订历史记录以进行比较)。
答案 1 :(得分:1)
如果id始终是URI的最后一部分,您可以执行类似
的操作var url_array = document.location.split('/');
var id = url_array[url_array.length - 1];
答案 2 :(得分:0)
使用split
,将网址转换为参数数组。然后你的案例中的最后一个数组项将是你的ID。
有非常复杂的URL解析器用于javascript,也许你应该在谷歌上寻找一个适合你需要的解析器。
答案 3 :(得分:0)
试试这个
alert("/api/User/Details/2c021192-25cb-43e1-9bba-3bd5604a0a3d".split('/').slice(-1)[0]);
答案 4 :(得分:0)
最简单的:
var id = '/api/User/2c021192-25cb-43e1-9bba-3bd5604a0a3d'.split('/User/')[1];
给你2c021192-25cb-43e1-9bba-3bd5604a0a3d
;