在我的angular 1.3应用程序中,我必须解析一个看起来像这样的外部URL:
https://127.0.0.1:3000/myState#id_token=someid&access_token=blaat
我使用ui-router并定义了一个名为myState的状态,它有一个控制器mycontroller:
(function () {
'use strict';
angular
.module('mymodule')
.controller('mycontroller', contrl)
.config(['$locationProvider', function ($locationProvider) {
$locationProvider.html5Mode(true);
}]);
function contrl($location) {
if ($location.search().hasOwnProperty('access_token')) {
var token = $location.search()['access_token'];
}
}
})();
状态看起来像这样:
.state('myState', {
url: '/myState',
controller: 'myController'
});
我试图从查询字符串中获取access_token,但控制器甚至没有被触发。如果我将#替换为?然后控制器将被解雇。如何运行控制器并获取access_token?我该如何解析这个网址?