这是我的网址,参数如下:
http://localhost:8000/search?city=uk&cat=Sightseeing%20&%20Tours
但是当我尝试使用:
捕获cat
参数时
var test2 = $location.search().cat;
它只返回Sightseeing
。我该如何解决这个问题?谢谢!
答案 0 :(得分:1)
&符号(&
)是URL参数的分隔符。这意味着cat
参数在Sightseeing%20
之后结束。 (%20
可能会自动转换为空格,使其不可见。)
虽然有一个简单的解决方案;只是对符号进行百分比编码;使用%26
。请注意,大多数编程语言都提供了一些自动对字符串进行百分比编码的功能,例如在PHP中urlencode()
。
有关详细信息,请参阅https://en.wikipedia.org/wiki/Percent-encoding。它讨论了URL中的保留字符和未保留字符,这正是导致问题的原因; &符号是保留字符。