我正面臨一個問題。我用angular + mvc開發一個登錄表單4.當我在登錄過程之後嘗試重定向到另一個視圖時,問題就開始了。登錄mvc控制器後發出angularJs重定向問題
代碼:
這是我廠:該廠高管在MVC控制器一個AJAX調用我的行動結果,以及它工作得很好。
moduloRegistro.factory('loginRepository', function ($resource) {
return {
login: function (usuario) {
return $resource('Acesso/Logar').save(usuario);
}
}
});
下面我的控制器:我控制器驗證的結果,如果一切正常,它設法重新到新的URL
moduloRegistro.controller('LoginController', function ($scope, loginRepository, $location, toastr) {
$scope.erroLogin = '';
$scope.login = function (usuario) {
loginRepository.login(usuario).$promise.then(
function (response) {
if (response.mensagemDeErro != undefined || response.mensagemDeErro != null)
toastr.error(response.mensagemDeErro);
else
$location.url('Board/Programa');
},
function (erro) {
toastr.error(erro.mensagemDeErro);
}
);
};
});
這是我的模塊:我在哪裏配置路由和模板被渲染成ng-view。
var moduloRegistro = angular.module('moduloRegistro', ['ngRoute', 'ngResource']);
moduloRegistro.config(function ($routeProvider, $locationProvider) {
$routeProvider.when('/',
{
templateUrl: '/Templates/Acesso/login.html', controller: 'LoginController'
});
$routeProvider.when('/Board/Programa',
{
templateUrl: '/Templates/Board/programa.html', controller: 'BoardController'
});
$locationProvider.html5Mode(true)
});
moduloRegistro.value('toastr', toastr);
這是我RouteConfig:
routes.MapRoute(
name: "Board SPA",
url: "Board/{*catchall}",
defaults: new { controller = "Board", action = "Index" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Acesso", action = "Index", id = UrlParameter.Optional }
);
問題:當他重定向到新的觀點,BoardController沒有工作和我的主景SPA頁面的HTML是在NG-視圖中繪製。
婁我局的控制和工廠:
//Controller.
moduloRegistro.controller('BoardController', function ($scope, boardRepository, $location, toastr) {
$scope.partes = boardRepository.getPartes();
});
//Factory
moduloRegistro.factory('boardRepository', function ($resource) {
return {
getPartes: function() {
return $resource('Board/ObterPartesEscola').get();
}
}
});