javascript - 工厂函数不返回数据

标签 javascript jquery angularjs angularjs-factory

我有一个 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;在 Controller 中。当我在工厂记录响应数据时,它显示正确的数据。 apiService.urlBase 变量始终填充在我的 Controller 中。

你们有什么建议还是我做错了什么?也许这是一个语法错误。

最佳答案

您没有返回 $http 返回的 promise 。在$http

前添加return

关于javascript - 工厂函数不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440233/

相关文章:

javascript - PHP警告: stristr(): Empty needle in line

angularjs - 如何使用 angularjs 指令将样式标签添加到头部

javascript - Angularjs 正则表达式 url 路由

Javascript:仅在其自己的函数内直接修改数组

javascript - 使用 ID 标签时 HTML 表单未提交

javascript - 如果我有SIP帐号,如何通过PC上的浏览器调用电话?

jquery - 如何在数据表中包含 tfoot

javascript - 在 Angular 模板中包含脚本的最佳实践?

javascript - 不褪色的 CSS 不透明度延迟

javascript - 如果 $scope 模型发生变化,但长度保持不变,为什么 Angular-UI 日历不更新?