这是我的控制器:
.controller('loginCtrl', ['$scope', '$window', '$cookies', '$http', function($scope, $window, $cookies, $http) {
var frm = $('#loginForm');
frm.submit(function(ev) {
var now = new Date();
now.setTime(now.getTime() + (600000 * 5));
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
//dataType: "json",
contentType: "application/json",
data: JSON.stringify(frm.serializeObject()),
success: function(data, textStatus, request) {
if (request.status == 202) {
$cookies.put('diprLogin', 'admin', {
expires: now
});
$window.location.href = '#';
**var roleValue=data[0].role;**
console.log(roleValue);
$scope.$apply(function() {
$scope.noty.add({
type: 'info',
title: 'Welcome. Admin'
});
});
}
},
error: function(jqXHR, textStatus, errorMessage) {
$scope.$apply(function() {
$scope.noty.add({
type: 'danger',
title: 'Authentication failed',
body: 'Please try again...'
});
});
}
});
ev.preventDefault();
});
}]) //End loginCtrl
我想发送roleValue
给每个控制器以检查一些验证。请帮助我确定如何执行此操作。另外,我可以从其他控制器调用ajax来返回此变量吗?
请尝试以下步骤,它将起作用:
步骤1:创建服务。
angular.module('app').service('dataStoreService', function() {
var data = '';
function setData(newData){
data = newData;
}
function getData(){
return data;
}
})
第2步:在ajax调用中,您可以将设置roleValue
为服务。
dataStoreService.setData(roleValue);
第3步:dataStoreService
在需要获取控制器的控制器中注入依赖项roleValue
。和from控制器的调用getData
功能dataStoreService
。
dataStoreService.getData();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句