Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 手动进入状态时,Angular UI路由器逃过了斜杠错误_Angularjs_Url_Authentication_Angular Routing_Trailing Slash - Fatal编程技术网

Angularjs 手动进入状态时,Angular UI路由器逃过了斜杠错误

Angularjs 手动进入状态时,Angular UI路由器逃过了斜杠错误,angularjs,url,authentication,angular-routing,trailing-slash,Angularjs,Url,Authentication,Angular Routing,Trailing Slash,在我的简单示例中,如果我手动使用$state.gotoState、toParams触发状态更改,为什么要在url中编码斜杠 $rootScope.$on("$stateChangeStart", function (event, toState, toParams, fromState, fromParams, error) { console.log("stateChangeStart"); $rootScope.loading = true;

在我的简单示例中,如果我手动使用$state.gotoState、toParams触发状态更改,为什么要在url中编码斜杠

$rootScope.$on("$stateChangeStart", function (event, toState, toParams, fromState, fromParams, error) {
            console.log("stateChangeStart");
            $rootScope.loading = true;          
            if(!isLoggedIn) {
                event.preventDefault();
                Api.get().then(function(response){
                    isLoggedIn = response;
                    $state.go(toState, toParams);
                });
            }
        });
这里是完整的例子。

例如,url like:/template1编码为%252Ftemplate1。否则状态也会被编码

这真的很奇怪,我怎么能禁用它

在$stateChangeStart事件中,我模拟服务器端用户身份验证。这个问题的另一部分是如何在这个具体示例中将url/template1与/template1/等同对待

另外,我关闭了html5模式,因为它需要一个正确配置的服务器来测试bug?在本例中,需要html5模式


Tnx

请参阅,这是一个带参数的url解决方案,在我的示例中,任何url中都没有参数。否则,404也被编码。