嗯,我需要在不同的角度控制器或任何函数中使用一个变量,但是在这种特殊情况下,我从服务或函数中获取其中一个变量的值,您希望如何调用它,这是代码如何在javascript/angular中的函数内设置一个全局变量的值?
//global variable userdata
userdata = {};
ng.tcts.service('$user', function($http, $q, $window, $boots){
return{
login: function(data){
var deferred = $q.defer();
$http({
method:'POST',
url:ng.api+'/log/in',
data:{
data:data
},
headers:{'Content-type':'application/x-www-form-urlencoded'}
}).success(function(response, status, headers, config){
if(response.success){
console.log(response);
//userdata assignation
userdata = response.data;
deferred.resolve([response.respnum, response.success, response.report, response.data]);
}
else{
deferred.resolve([response.respnum, response.success, response.report, response.data]);
}
}).error(function(response, status, headers, config){
deferred.reject([response.respnum, response.success, response.report]);
});
return deferred.promise;
}
);
正如你可以看到我asigining用户数据的成功函数内部response.data的价值,当我在功能环境它的工作原理使用它,在分配工作正常,但是当我尝试在它外面使用它时,对象是空的,我希望你能帮助我,thx
你打电话给外面? – jayaguilar
你是什么意思,变量或服务?就像thisdata =服务{ \t \t用户名:$ scope.username, \t \t密码:$ scope.password \t \t}; \t \t var promise = $ user.login(data); – user3384672