typeahead angulaire de l'interface utilisateur, impossible de lire la propriété de la longueur de undefined

Je suis en utilisant Angular-ui Bootstrap pour mon application.
J'utilise le typeahead directive.

html:

<input type="text" class="pass_code_input" ng-model="SuppPrefix" Typeahead="ddl_item.Text for ddl_item in getData($viewValue)"/>

Contrôleur

function AutoCompleteCtrl($scope,$http, AutoCompleteSrv) {
    $scope.getData = function (prefix) {
        AutoCompleteSrv.GetAutoComplete("Supplier", prefix).then(function (result) {
            var results_arr = [];
            angular.forEach(result.data, function (item) {
                results_arr.push({ "Val": item.Val, "Text": item.Text });
            });
            return results_arr
        });  
    };
};

service:

    function AutoCompleteSrv($http) {
    var _$http = $http;
    self = this;
    self.GetAutoComplete = function (DataType, Prefix) {
        var promise = _$http({
            method: "GET",
            url: 'api/AutoComplete',
            params: { 'DataType': DataType, 'Prefix': Prefix }
        }).success(function (data, status, headers, config) {

        }).error(function (data, status, headers, config) {

        });
        return promise;
    };
};

Je dois recevoir les données à partir du serveur, mais je ne peut pas l'afficher sur l'écran. Quand je lance le debugger dans chrome dev tools, j'ai l'erreur suivante:

TypeError: Cannot read property 'length' of undefined
at http://localhost:52145/js/libs/ui-bootstrap-tpls-0.11.0.min.js:13:12650
at m.promise.then.u (http://localhost:52145/js/angular/angular.min.js:97:280)
at m.promise.then.u (http://localhost:52145/js/angular/angular.min.js:97:280)
at http://localhost:52145/js/angular/angular.min.js:98:417
at h.$eval (http://localhost:52145/js/angular/angular.min.js:108:482)
at h.$digest (http://localhost:52145/js/angular/angular.min.js:106:62)
at h.$apply (http://localhost:52145/js/angular/angular.min.js:109:287)
at HTMLInputElement.l (http://localhost:52145/js/angular/angular.min.js:133:191)
at http://localhost:52145/js/angular/angular.min.js:31:32
at q (http://localhost:52145/js/angular/angular.min.js:7:386)

J'ai cherché la solution dans plusieurs endroits, comme que, et également de suivre étape par étape les instructions dans le fichier d'initialisation de l'interface utilisateur page d'accueil.
Qu'ai-je fait de mal?

Vous n'êtes pas les données de retour dans le succès de la méthode, mais s'attendent dans votre contrôleur
J'ai essayé bu, il n'a pas aidé. Aussi, quand je debug, je vois les données dans le contrôleur (il est livré avec la promesse). Les données même retourné de contrôleur, mais puis-je obtenir cette erreur.
Pouvez vous s'il vous plaît configurer un plunker, vous donnera la résolution rapide

OriginalL'auteur Lichte | 2014-07-06