簡體   English   中英

如何從Url客戶端獲取ID?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM