我有一个angularjs工厂可以通过$http.get()获取数据:

'use strict';
app.factory('apiService', ['$http', function ($http) {
    var apiService = {};
    apiService.urlBase = 'http://localhost:1337/api/';
    apiService.get = function (urlExtension) {
        $http({
            method: 'GET',
            url: apiService.urlBase + urlExtension
        }).then(function successCallback(response) {
            return response.data;
        }, function errorCallback(response) {
            console.log(response);
        });
    }

    return apiService;
}]);


问题是,当我调用apiService.get()方法时,它总是返回undefined。在控制器中。当我在工厂中记录响应数据时,它将显示正确的数据。 apiService.urlBase变量始终填充在我的控制器中。

你们有什么建议吗,或者我做错了什么?可能是语法错误。

最佳答案

您没有返回$http返回的承诺。在return之前添加$http

09-20 11:44