Tag: ngroute

angular色路由提供者在nodejs上进行身份validation

我目前正在用angular-js,nodejs和mongodb后端尝试一下我的第一个应用程序。 这个应用程序和它的URL是由ngRoute从angular度来pipe理的。 在这个应用程序中有一个小小的pipe理区域进行身份validation(基于nodejs的客户端会话)。 这工作到目前为止很好。 身份validation适用于由nodejspipe理的URL,但不适用于routeProvider的身份validation。 提供者看起来像这样: app.config(['$locationProvider', '$routeProvider', function ($locationProvider, $routeProvider) { $routeProvider.when("/main", { templateUrl: "app/main/landing.html", controller: "MainController" }) .when("/admin", { templateUrl: "restricted", controller: "AdminController" }) .when("/login", { templateUrl: "app/login/login.html" }) .otherwise({redirectTo: '/main'}); }]); 限制区域(/ admin)调用一个get服务器并发送view.html如果用户有效: app.get('/restricted', function (req, res) { if (!req.session_state.user) { res.res.status(302).redirect("/login");//Does not really work, should redirect to login, but endless loop […]

ngRoute的Angular Routing不适用于某些路由

在我的单页面应用程序中,我使用ngRoute进行angular度路由。 但是我正在面对angular度路由的一些问题。 configuration: app.config(function($routeProvider,$locationProvider){ $locationProvider.html5Mode(true); $locationProvider.hashPrefix('!'); $routeProvider .when('/product',{ templateUrl : 'views/product/template/product.html', controller : 'productCtrl' }) .when('/product/add',{ templateUrl : 'views/product/template/add-product.html', controller : 'productCtrl' }) }); 当我的路由path是/产品,那么一切都很好。 但是当我的路由path是/产品/添加,那么这似乎是一个错误。 但是,如果“/产品/添加”replace只是“/添加”,那么该路线也是可以的。 所以我不能识别什么是路由“/产品/添加”的主要问题。 错误: http://localhost:3000/product/views/product/template/add-product.html 404 (Not Found) 在这里我看到了一个问题。 其他路线如下: http://localhost:3000/views/product/template/product.html 但是服务器连接后错误路由有/ product。 需要一些澄清和解决这个问题。 提前致谢

如何在angularjs中加载一个文本域

我正在开发一个应用程序,我想要加载一个文本字段在窗体中被禁用编​​辑。 我想要两件事情得到回答。 其实我的想法是从url中获取一个mongodb _id ,并将其传递给我的控制器,并从数据库获取相应的电子邮件ID,并在加载表单中填写,以便用户不能在该字段中编辑它。 问题1:我已经写了使用ID获取电子邮件ID的API,但我不知道如何从我的url获取_id 。 说www.xyzabc.com/register.html?id:57c5dda12e63d15d2e4dea2c www.xyzabc.com/register.html?57c5dda12e63d15d2e4dea2c 任何格式的url。 我的API是这样的: $scope.fetchEmail = function (id) { $scope.id = "57c5dda12e63d15d2e4dea2c"; console.log("logging routeparam"); console.log($scope.id); UserServices.fetchEmail($scope.id, function (email) { console.log("insied fetch fn"); console.log(email); $scope.user.email = email; }); } 如果ID是硬编码的,上面的代码会做一切完美的事情。 我不知道如何从url获取url参数作为id。 问题2:一旦我在$scope.user.email = email;获得我的id, 它应该被填充在禁止用户编辑的字段中。 我尝试了下面的代码,但它不适合我。 <input name="email" id="email" class="form-control" placeholder="Email" ng-model={{"user.email"}} disabled="disabled" required> 任何人都可以帮我解决这个问题。提前感谢。

如何从数据库dynamic添加路由到angularjs

我正在创build一个NodeJs + AngularJS应用程序。 我有酒店列表存储在数据库中。 我想根据酒店名称和基于属性ID的加载部分视图创builddynamic路线。 例如在我的数据库中,我有: HotelID HotelName 1 example hotel 2 second example hotel 3 third example hotel 在app.js我想要这样的东西 var hotelierApp = angular.module('hotelierApp', ['ngRoute', 'ngCookies', 'pascalprecht.translate', 'hotelierApp.services', 'hotelierApp.directives', 'hotelierApp.filters', 'hotelierApp.controller']); hotelierApp.run(function ($rootScope) { $rootScope.langId = 1; }) hotelierApp.config(['$routeProvider', '$locationProvider', '$translateProvider', function ($routeProvider, $locationProvider, $translateProvider) { angular.forEach(hotels, function (hotel) { $routeProvider.when(hotel.name.replace(" ","-"), { templateUrl: 'partials/property', […]