我无法返回包含数据angularjs的变量的值

我无法返回包含数据angularjs的变量的值,angularjs,Angularjs,我被困在这里了。我的代码怎么了?返回变量时,无法获取该变量的值 accountManagers : function( id ) { var accountManager; $http.get( URL + 'server/agents_account_managers.php?id=' + id ).success( function ( data ) { if ( data != 0 ) { ac

我被困在这里了。我的代码怎么了?返回变量时,无法获取该变量的值

accountManagers : function( id ) {

        var accountManager;

        $http.get( URL + 'server/agents_account_managers.php?id=' + id ).success( function ( data ) {

            if ( data != 0 ) {

                accountManager = data[0].first_name + ' ' + data[0].last_name ;

            }

        });     

        return accountManager;


    }
谢谢

尝试使用
then()

这使用Angular的
$http
快捷方式方法,并将处理
errorcallback
方法中的任何错误

使用时还应避免使用
.success
.error

$http legacy promise方法的成功和错误已被删除 不赞成。改用标准then方法


谢谢你的回复,我查看了链接,发现有很多解释。我很难理解这一切。你能给我一个总结或简化的解决方案吗?谢谢请参考此链接谢谢链接,我的问题是我的功能在服务中。$q可以在服务中使用吗?谢谢,againi已经尝试过了,但它向我展示了以下内容:d{$$state:Object}您能检查一下这个有什么问题吗…var crmGlobalServices=angular.module('crmGlobalServices',[]);crmGlobalServices.factory('crmGlobalServices',function($http,$q){var accountManager;function agentsAccountManager(id){$http.get(URL+'server/agents\u account\u managers.php?id='+id)。然后(function(response){console.log(response.data[0]。first\u name);//已经成功的accountManager=response.data[0].first_name+''+response.data[0]。last_name;},函数(错误){console.log('error:'+error);});console.log(accountManager);return accountManager;});您可能应该使用plunker更新您的答案
$http.get('/yoururl').then(
  function(response) { // successCallback
    console.log('success: ' + response);
  }, function (error) {  // errorcallback
    console.log('error: ' + error);
  });