嗯,我需要在不同的角度控制器或任何函數中使用一個變量,但是在這種特殊情況下,我從服務或函數中獲取其中一個變量的值,您希望如何調用它,這是代碼如何在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