使用 $http.get 在控制器中调用函数

Call function in controller with $http.get

当我 运行 时,我根本没有得到任何价值,只有无休止的循环错误。 (错误:[$rootScope:infdig]

我的html:

{{getName(5)}}

这是我的功能:

$scope.getName = function(id) {
    $http.get('get.php?id='+id).then(function(response) {
        return response.data;
    });
}

当我打电话给 get.php?id=5 时,我得到一个正常的答案,例如:“Jake Something”

当我在我的控制器中调用 $scope.getName(5) 时,我得到了正确的值,没有错误。

是否有解决此问题的方法或任何其他方法来获得正确的值?

使用指令修复了它:

myApp.directive('getCustomer', function($http) {
    return {
        restrict : 'E',
        scope: {
            customerid: '='
        },
        template: "{{data}}",
        link: function(scope, elem, attr) {
            var url = 'get.php?id='+scope.customerid;
            $http.get(url).then(function(response) {
                scope.data = response.data;
            });
        }
    };
});

在html中:

<get-customer customerid="5"></get-customer>

输出:

Jake Something