这是我的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中的保留和未保留字符,这正是导致您出现问题的原因;与号是一个保留字符。