AngularJS$位置搜索混乱



这是我的url,参数看起来像:

http://localhost:8000/search?city=uk&cat=Sightseeing%20&%20Tours

但是当我尝试使用捕获cat参数时

var test2 = $location.search().cat;

它只返回CCD_ 2。如何解决此问题?谢谢

与号(&)是URL参数的分隔符。这意味着cat参数在Sightseeing%20之后结束。(%20可能会自动转换为空间,使其不可见。)

不过,有一个简单的解决方案;只有百分比对"与"进行编码;使用CCD_ 7。请注意,大多数编程语言都提供了一些函数来自动对字符串进行百分比编码,例如在PHP中,它将是urlencode()

有关详细信息,请参阅https://en.wikipedia.org/wiki/Percent-encoding.它谈到了URL中的保留和未保留字符,这正是导致您出现问题的原因;与号是一个保留字符。

最新更新