我有一个资源定义如下:
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
在这种情况下,有没有办法阻止%被编码为%?
我尝试过使用encodeURI,encodeURIComponent的组合无济于事.
任何帮助将不胜感激,谢谢!
由于URL已经过URI编码,因此您需要先将其解码,然后再将其传递给angular:
$scope.go = function (params) { $location.path(decodeURIComponent(params)); };