1

URLクライアント側から"/api/User/Details/2c021192-25cb-43e1-9bba-3bd5604a0a3d"IDを取得するための最良の方法は何でしょうか?"2c02ds92-25cb-43e1-9bba-3bd5604a0a3d"

IDを使用してリクエストを作成できる必要があり、$.getJSONJavaScript、jQueryなどを使用してそれを行うための最もクリーンな方法を探しています。ありがとう

$.getJSON('/api/User/2c021192-25cb-43e1-9bba-3bd5604a0a3d')...
4

5 に答える 5

2

正規表現を使用して、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)は一致の配列を返すため、一致が少なくとも 1 つだけあると仮定すると、それを選択する必要があります ([0]例のように を使用)。

証明: http://jsfiddle.net/p6zud/2/

EDIT 2:マッチングに使用されるパターンを短縮しました(比較のために改訂履歴を参照してください)。

于 2012-08-28T21:13:44.110 に答える
1

id が常に URI の最後のセクションになる場合は、次のようにすることができます。

var url_array = document.location.split('/');
var id = url_array[url_array.length - 1];
于 2012-08-28T21:16:52.273 に答える
0

を使用してsplit、url をパラメーターの配列に変換します。次に、あなたの場合の最後の配列項目があなたの ID になります。

JavaScript 用の非常に洗練された URL パーサーがあります。おそらく、Google で自分のニーズに合ったものを探す必要があります。

于 2012-08-28T21:16:56.310 に答える
0

これを試して

alert("/api/User/Details/2c021192-25cb-43e1-9bba-3bd5604a0a3d".split('/').slice(-1)[0]);
于 2012-08-28T21:18:09.273 に答える
0

最も簡単:

var id = '/api/User/2c021192-25cb-43e1-9bba-3bd5604a0a3d'.split('/User/')[1];

あなたに与えます2c021192-25cb-43e1-9bba-3bd5604a0a3d;

于 2012-08-28T21:19:17.590 に答える