我正在开发一个单页角应用程序。
应用程序从URL获取令牌,然后将其传递给API。目前我的网址如下所示:
www.example.com/?token=3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95
我的代码已经正确使用了角度路由,但是我必须从URL中获取令牌:
var postToken = $location.search().token;
我在配置上有这个:
app.config(function($locationProvider, $httpProvider, $routeProvider) {
$routeProvider
.when('/token/:token', {
templateUrl : 'views/select-token.html',
controller : 'selectHold'
})
.when('/purchase-hold/token/:token', {
templateUrl : 'views/purchase-token.html',
controller : 'purchaseHold'
});
});
我希望我的网址能够如下所示:
www.example.com/token/3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95
我需要编码才能搜索/token/
并抓取旁边的数据,而不是?token=
?
答案 0 :(得分:0)
你可以在你的控制器中注入$ routeParams,它将在那里
app.controller('selectToken', function($scope, $routeParams) {
console.log($routeParams.token);
// We now have access to the $routeParams here
});
然后Angular将使用以下密钥填充$ routeParams:token,并且将使用加载的URL的值填充key的值。
如果浏览器加载了网址www.example.com/token/3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95
,
然后$ routeParams对象将如下所示:
{ token: '3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95' }
答案 1 :(得分:0)
像你现在一样建立自己的路线
.when('/token/:token', {templateUrl : 'views/select-token.html', controller : 'selectToken' })
然后在你的控制器中注入$ routeParams并且你将能够访问你的路由参数
.controller('selectToken', function($scope, $routeParams){
$scope.token = $routeParams.token
}