如何在Angular中解析请求参数?

时间:2014-02-28 01:50:09

标签: angularjs

我希望有一个网址,例如http://mydomain.com/token/abc12345,其中abc12345是一个可变参数。

当angular看到此URL时,我希望它提取令牌,进行数据库查找,将一些内容放入作用域,然后将用户发送到显示其中一些数据的特定页面。

如果用户转到http://mydomain.com/,我希望它显示某种错误消息。即进入应用程序的唯一有效入口点是通过令牌URL。

如何在Angular中进行设置?我的$ routeProvider定义会是什么样的?

2 个答案:

答案 0 :(得分:0)

以这种方式尝试控制器

if($routeParams.tokenId== undefined)
{
 alert("wrong url")
 return false;
}
//next code

代码说明

  

此代码用于获取查询字符串值。因此,如果您的网址没有任何查询字符串,那么它会显示警报(或者您可以重定向到错误屏幕)。否则它会调用下一个代码。

答案 1 :(得分:0)

在您的路线定义文件中执行类似的操作;

app.config(function($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl: 'error.html',
            controller: 'ErrorCtrl'
        })
        .when('/token/:tokenid', {
            templateUrl: 'yourview.html',
            controller: 'TokenCtrl'
        })
});

并在ErrorCtrl

app.controller('ErrorCtrl', function () {
  alert('wrong page');
});

并在TokenCtrl

app.controller('TokenCtrl', function ($routeParams) {
  var token = routeParams.tokenid;
   //Do your rest of the stuff
});