Привет, я хочу изменить URL-адрес при успешном входе в систему. URL-адрес для входа — localhost/filename/login.html, а в случае успеха — localhost/filename/index.html#/birds_eye. Использую angularjs 1.3.14. Вот код app.js
var app = angular.module('cirqSignUp',
['cirq.controllers','cirq.services','ngRoute','ngStorage'])
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/login',{templateUrl: '/login.html', controller: 'login'})
.when('/birds_eye', {templateUrl: 'pages/birds_eye_view.html', controller: 'birdsEye',reloadOnSearch: false})
//.when('/analytics', {templateUrl: 'pages/analytics.html', controller: 'birdsEye'})
//.when('/items', {templateUrl: 'pages/listitems.html', controller: 'birdsEye'})
.when('/items/import_export', {templateUrl: 'pages/items/import_export.html', controller: 'importExport'})
.when('/items/categories', {templateUrl: 'pages/items/categories.html', controller: 'forCategory'})
//.otherwise({redirectTo: '/birds_eye'});
}])
а вот код контроллера
.controller('login', ['$scope','$http','Services','$rootScope','$localStorage', '$sessionStorage','$location', function($scope,$http,Services,$rootScope,$localStorage, $sessionStorage,$location){
$('.error').hide();
$scope.loginRest = function(restLogin){
//
//alert(JSON.stringify(restLogin));
var request = Services.loginDashboard(restLogin);
request.success(function(res,status,headers,config){
alert(status);
//return
$localStorage.resDataRest = res.useremailid;
$localStorage.resTotalSales = res.dashBoard.todayssales;
$localStorage.resTotalTransct = res.dashBoard.todaystransactions;
console.log(JSON.stringify($rootScope.resDataRest));
$location.path('/birds_eye');
//afterLogin(res.useremailid);
//console.log($rootScope.resDataRest)
}).error(function(res,status,headers,config){
$scope.resMsg = res.responsemessage;
$('.error').show();
//alert(status);
});
};
//$rootScope.resDataRest = $scope.getVar;
/*function afterLogin(res){
$scope.data1 = res;
//$rootScope.afterLoginData = $scope.data1;
alert(JSON.stringify($scope.data1));
}
*/}])
Проблема, с которой я сталкиваюсь при использовании $location, заключается в том, что URL-адрес не обновляется и пытается использовать windows.location, но проблема с window.location заключается в том, что объект ответа, который я сохраняю в переменной области/корневой области, становится нулевым. Помогите пожалуйста мне
Services.loginDashboard()
возвращает обещание$http
? - person Malk   schedule 01.04.2016$location.path('/birds_eye');
, это все, что вам нужно, чтобы перейти кlocalhost/filename/#/birds_eye
после входа в систему. Я немного беспокоюсь, потому что вы говорите, что URL-адресlocalhost/filename/index.html#/birds_eye
. Вы используете веб-сервер? Где вы это тестируете? А как насчет вашего обслуживания также? - person Marios Fakiolas   schedule 01.04.2016$scope.$apply()
вручную. - person Malk   schedule 01.04.2016