AngularJS $ location.Path不起作用 [英] AngularJS $location.Path not working
本文介绍了AngularJS $ location.Path不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在MVC4互联网应用模板中使用AngularJS。登录成功后,我想重定向到我的控制器内的一个动作。但我无法使用location.Path。FetchMenu是我在LandingPageController中的动作方法。
angular.module(MyApp).controller(Part3Controller, function ($ scope,LoginService){
$ scope.IsLogedIn = false ;
$ scope.Message = ' ';
$ scope.Submitted = false ;
$ scope.IsFormValid = false ;
$ scope.MyLogin = {
USER_ID:' ';
密码:' ';
};
// 检查表格是否有效//这里f1是我们的表格名称
$ scope。$ watch(f1。$ valid, function (newVal){
$ scope.IsFormValid = newVal;
});
$ scope.Login = function (){
$ scope.Submitted = 真跨度>;
if ($ scope.IsFormValid){
LoginService.GetUser($ scope.MyLogin).then( function (d){
if (d.data.USER_ID!= null ){
$ scope.IsLogedIn = true ;
$ location.Path(/ LandingPage / FetchMenu);
}
else {
alert(' 凭证无效!');
}
});
}
};
})
.factory(' LoginService,function($ http){
var fac = {};
fac.GetUser = function(d){
return $ http({
url:/ Data / UserLogin,
method:POST,
数据:JSON.stringify(d),
标题:{content-type:application / json}
});
};
返回fac;
} );
解决方案
范围,LoginService){
scope.IsLogedIn = false ;
scope.Message = ' '跨度>;
Am using AngularJS in MVC4 internet application template. After login is successful, I want to redirect to an action inside my controller. But I couldn't do that using location.Path."FetchMenu" is my action method inside "LandingPageController".
angular.module(MyApp).controller(Part3Controller, function ($scope, LoginService) {
$scope.IsLogedIn = false;
$scope.Message = '';
$scope.Submitted = false;
$scope.IsFormValid = false;
$scope.MyLogin = {
USER_ID:'' ;
Password: '';
};
//Check is Form Valid or Not // Here f1 is our form Name
$scope.$watch(f1.$valid, function (newVal) {
$scope.IsFormValid = newVal;
});
$scope.Login = function () {
$scope.Submitted = true;
if ($scope.IsFormValid) {
LoginService.GetUser($scope.MyLogin).then(function (d) {
if (d.data.USER_ID != null) {
$scope.IsLogedIn = true;
$location.Path(/LandingPage/FetchMenu);
}
else {
alert('Invalid Credential!');
}
});
}
};
})
.factory('LoginService, function ($http) {
var fac = {};
fac.GetUser = function (d) {
return $http({
url:/Data/UserLogin,
method: POST,
data: JSON.stringify(d),
headers: {content-type:application/json}
});
};
return fac;
});
解决方案
scope, LoginService) {
scope.IsLogedIn = false;
scope.Message = '';
这篇关于AngularJS $ location.Path不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文