当前,当我将参数传递给包括$state.go
的~
时,它在创建URL时会重复。
例:
我搜索~abc
。然后传递给$state.go('.', {myParam: "~abc"})
。然后在URL中我有https://localhost/somePath?myParam=~~abc
根据RFC3986,“〜”必须以HTML格式百分比编码为“%7E”。如果我以前编码,那么我仍然有同样的问题。因此,我认为该值必须在$stateProvider
内部处理或通过在UI路由器内部自定义$urlmatcherfactoryprovider
进行处理。
最佳答案
使用AngularJS中的新httpParamSerializer,您可以通过编写自己的paramSerializer并设置$ httpProvider.defaults.paramSerializer来实现。