[英]How to get an Id out of a Url client side?
如果我有一個類似於"/api/User/Details/2c021192-25cb-43e1-9bba-3bd5604a0a3d"
"2c02ds92-25cb-43e1-9bba-3bd5604a0a3d"
從URL客戶端獲取ID "2c02ds92-25cb-43e1-9bba-3bd5604a0a3d"
的最佳方式是什么?側?
我需要能夠使用ID構建$.getJSON
請求,我正在尋找使用JavaScript,jQuery等最干凈的方法。謝謝
$.getJSON('/api/User/2c021192-25cb-43e1-9bba-3bd5604a0a3d')...
使用正則表達式並從URL中提取適當的部分(似乎是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 :縮短用於匹配的模式(參見修訂歷史記錄以進行比較)。
如果id總是將成為URI的最后一部分,那么你可以做類似的事情
var url_array = document.location.split('/');
var id = url_array[url_array.length - 1];
使用split
,將url轉換為參數數組。 然后你的案例中的最后一個數組項將是你的ID。
有非常復雜的URL解析器用於javascript,也許你應該在谷歌上尋找一個適合你的需求。
嘗試這個
alert("/api/User/Details/2c021192-25cb-43e1-9bba-3bd5604a0a3d".split('/').slice(-1)[0]);
最簡單的:
var id = '/api/User/2c021192-25cb-43e1-9bba-3bd5604a0a3d'.split('/User/')[1];
給你2c021192-25cb-43e1-9bba-3bd5604a0a3d
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.