Javascript 使用斜杠从URL获取参数
我正在开发一个单页的angular应用程序 应用程序从URL中提取一个令牌,然后将其传递给API。当前我的URL如下所示:Javascript 使用斜杠从URL获取参数,javascript,angularjs,url,routes,Javascript,Angularjs,Url,Routes,我正在开发一个单页的angular应用程序 应用程序从URL中提取一个令牌,然后将其传递给API。当前我的URL如下所示: www.example.com/?token=3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95 我的代码已经正确地使用了角度路由,但我必须像这样从URL中获取令牌: var postToken = $location.search().token; www.example.com/token
www.example.com/?token=3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95
我的代码已经正确地使用了角度路由,但我必须像这样从URL中获取令牌:
var postToken = $location.search().token;
www.example.com/token/3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95
我在配置中有这个:
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'
});
});
我希望我的URL能够如下所示:
var postToken = $location.search().token;
www.example.com/token/3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95
我需要编写什么代码才能搜索
/token/
并获取它旁边的数据,而不是?token=
?您可以在控制器中插入$routeParams,它将在该控制器中可用
app.controller('selectToken', function($scope, $routeParams) {
console.log($routeParams.token);
// We now have access to the $routeParams here
});
然后Angular将用:token键填充$routeParams,key值将用加载的URL值填充
如果浏览器加载URLwww.example.com/token/3D2B9BC55A85B641CE867EDAAC8A979173D446525230290FC86A0ED8FF18B95
,
那么$routeParams对象将如下所示:
{ token: '3d2b9bc55a85b641ce867edaac8a979173d4446525230290fc86a0ed8ff18b95' }
像你现在一样建立你的路线
.when('/token/:token', {templateUrl : 'views/select-token.html', controller : 'selectToken' })
然后在控制器中注入$routeParams,您将能够访问路由参数
.controller('selectToken', function($scope, $routeParams){
$scope.token = $routeParams.token
}
看,我试过了,但还是不起作用。在我的.config上有
。当('/token/:token',{templateUrl:'views/select token.html',controller:'selectToken'})时,
我将把$routeParams.token放在哪里?在我的配置或控制器中?我不需要改变两件事吗。。。配置和控制器。我不需要在时更改配置,并将$routeParams添加到我的控制器吗?我必须使用apache设置的回退来让它工作,但现在当我有www.example.com/token/3d2b9bc55a85b641ce867edaac8a979173d446525230290fc86a0ed8ff18b95时,我可以通过查看源代码看到所有代码