Angular:如何使用$ stateProvider对包含斜杠的URL数据进行编码?

时间:2015-08-02 17:00:59

标签: angularjs url

我尝试使用$stateProvider发送数据而不是params。

这是我的配置:

$stateProvider
    .state('notes-empty', {
                url: '/notes',
                templateUrl: 'notes.html'
            })
    .state('notes', {
                url: '/notes/:meeting_data',
                templateUrl: 'notes.html'
            })

问题是如果meeting-data包含/,它就会制动状态,例如:

https://localsrc.meeter.me/gadget.html#/notes/Asia //好的    https://localsrc.meeter.me/gadget.html#/notes/Asia%2FJer //错误

Asia%2FJer = Asia / Jer

我尝试使用var str = encodeURIComponent(JSON.stringify(str))对其进行编码,但$stateProvider在编码字符串中检测到/并尝试重定向到错误状态

如何解决?

1 个答案:

答案 0 :(得分:2)

你必须使用这样的正则表达式语法:

.state('notes', {
   url: '/notes/{meeting_data:.*}',
   templateUrl: 'notes.html'
})

URL Routing

上查看