AngularJS:使用$location避免使用url编码

前端之家收集整理的这篇文章主要介绍了AngularJS:使用$location避免使用url编码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到,当我将一个数组参数传递给$location.search()时,它的编码方式如下例所示

$location.path(‘/ somePath’).search(‘ids [] =’,[1,2,3]);

/ somePath DS [] = 1&安培; DS [] = 2及DS [] = 3

有没有办法避免网址编码?

请原谅迟到的回复,但我自己也遇到了类似的困境,并认为我会提供建议.

简而言之,如果您打算使用$location.search,则无法避免编码的URL.

如果你看一下Angular源,特别是location.js,你会发现函数返回组合URL(即LocationHtml5Url)都依赖于另一个名为toKeyValue的函数调用,它将在设置时对所有键值对进行编码.

此外,在您提供的示例用例中,您不需要键内的等号.当使用两个参数调用$location.search时,它们被Angular视为键值对.

如果您需要在编码后使用位置网址,则可以随时拨打decodeURIComponent.

猜你在找的Angularjs相关文章