当前,当我将参数传递给包括$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来实现。

09-25 17:46