8

次のように定義されたリソースがあります。

app.factory("DatumItem", function($resource) {
    return $resource('/data/:id', {id: '@id'});
});

私の見解では:

<div ng-click="go('/datum/' + d.to_param)">Test</div>

go() はコントローラーで次のように定義されています。

$scope.go = function (params) {
    $location.path(params);
};

問題のアイテムの場合、d.param は次のようになります。

TkZUOWZwcnc9Uldo%0ASzRvd2FiWk

しかし、正しい ID で DatumItem.get() を呼び出すと、ID が

TkZUOWZwcnc9Uldo%250ASzRvd2FiWk

この場合、% が %25 にエンコードされないようにする方法はありますか?

encodeURI、encodeURIComponent の使用を組み合わせて試してみましたが、役に立ちませんでした。

どんな助けでも大歓迎です、ありがとう!

4

3 に答える 3

2

また、decodeURIComponent の代わりにunescapeを使用することもできます。

以下のコード スニペットを参照してください -

$scope.go = function (params) {
    $location.path(unescape(params));
};
于 2016-01-20T08:59:08.477 に答える