Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 1.x中的UI路由器_Angularjs_Angular Ui Router - Fatal编程技术网

无法使用带有查询参数的AngularJS 1.x中的UI路由器

无法使用带有查询参数的AngularJS 1.x中的UI路由器,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我在AngularJS 1.5.9中使用UI路由器,并尝试处理带有查询参数的路由“/reregister” 我尝试在外部(通过链接)调用此URL表单: 但是每次URL被重定向到 我还想知道为什么会有这样一个问题!在url中的#签名后添加签名 为此,我有以下$stateProviderConfig: app.config(function($stateProvider, $urlRouterProvider, $locationProvider) { $stateProvide

我在AngularJS 1.5.9中使用UI路由器,并尝试处理带有查询参数的路由“/reregister”

我尝试在外部(通过链接)调用此URL表单:

但是每次URL被重定向到

我还想知道为什么会有这样一个问题!在url中的#签名后添加签名

为此,我有以下$stateProviderConfig:

app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {

        $stateProvider
        // HOME STATES AND NESTED VIEWS ========================================
            .state('home', {
                url: '/',
                templateUrl: 'views/home.html'
            })
            .state('register-slack', {
                url: '/register-slack',
                templateUrl: 'views/register-slack.html',
                controller: 'registerSlackCtrl'
            })
            .state('reregister-slack', {
                url: '/reregister-slack?id',
                params: {
                    id: { value : ""},
                },
                templateUrl: 'views/register-slack.html',
                controller: 'registerSlackCtrl'
        })
            .state('confirm-registration', {
                url: '/confirmation',
                templateUrl: 'views/show-confirmation.html'
            })
            .state('show-skills', {
                url: '/about-skills',
                templateUrl: 'views/show-skills.html'
            });

        $urlRouterProvider.otherwise('/');
        $locationProvider.html5Mode(false);
    });

首先,URL应该从

请注意
&
。在URL中,第一个参数应始终以
开头,随后的参数应以
&
开头,如
/contacts?myParam1=value1&myParam2=wowcool

其次,您使用的是
reReReigster
,如果您想优雅地捕获值,可能需要使用以下状态定义单独处理:

.state('reregister-slack', {
                url: '/reregister-slack?rereigster',
                params: {
                    id: { value : ""},
                },
                templateUrl: 'views/register-slack.html',
                controller: 'registerSlackCtrl'
        })

您可能希望将URL更改为

因为您已经有了
?id
的路由

更新:关于处理#的更多信息!格式化哈希前缀

$locationProvider.html5Mode(false);
$locationProvider.hashPrefix("!");

首先,URL应该从

请注意
&
。在URL中,第一个参数应始终以
开头,随后的参数应以
&
开头,如
/contacts?myParam1=value1&myParam2=wowcool

其次,您使用的是
reReReigster
,如果您想优雅地捕获值,可能需要使用以下状态定义单独处理:

.state('reregister-slack', {
                url: '/reregister-slack?rereigster',
                params: {
                    id: { value : ""},
                },
                templateUrl: 'views/register-slack.html',
                controller: 'registerSlackCtrl'
        })

您可能希望将URL更改为

因为您已经有了
?id
的路由

更新:关于处理#的更多信息!格式化哈希前缀

$locationProvider.html5Mode(false);
$locationProvider.hashPrefix("!");

非常感谢。为什么我有一个#!而不是#作为路线标志?我以前从未遇到过这种情况。如果没有匹配项,它将转到其他
$urlRouterProvider。否则(“/”)
看到的
&
将它弄糊涂。我使用了链接,app.js中的状态现在是:。state('reregister-slack'),{url:'/reregister slack?id',templateUrl:'views/reregister slack.html',controller:'registerSlackCtrl'})我无法摆脱这个奇怪的#!符号,因为它仍在显示。你能删除guruservice.herokuapp.com/#!/reregister slack?id=T2KLC5H3QAlso中奇怪的
字符吗?你可以配置$locationProvider并设置locationProvider.hashPrefixThank!谢谢!为什么我有一个#!而不是#作为路由符号?我从来没有这样的因此,当没有匹配项时,它将转到另一个
$urlRouterProvider。另一个(“/”)
看到的
&
将它弄糊涂。我使用了链接,app.js中的状态现在是:。状态('reregister-slack',{url:'/reregister slack?id',templateUrl:'views/reregister slack.html',controller:'registerSlackCtrl'})我无法删除这个奇怪的#!符号,因为它仍在显示。能否删除guruservice.herokuapp.com/#!/reregister slack?id=T2KLC5H3QAlso中奇怪的
字符,以便配置$locationProvider并设置locationProvider.hashPrefix