javascript - 在 HTTP 请求 AngularJS 之后将数据从工厂返回到 Controller

标签 javascript angularjs

我正在编写一个从 php 文件返回狗品种列表的工厂,但我无法将响应数据返回到我的 Controller 。我有这个作为工厂

angular.module('myApp')
    .factory('DataService, function($http) {
        return {
            get_breeds: function() {
                method: 'GET',
                url: 'http://localhost:8080/php/api/getbreeds.php'
            }).then(function onSuccess(response) {
                console.log(response); // responds with 200
                return response.data;
            }).catch(function onError(err) {
                console.log(err);
            })
        }
     }
});

这是我组件的一部分

angular.module('myApp')
    .component('homeComponent', {
    templateUrl: 'home.component.html,
    controller: function (DataService) {

        DataService.get_breeds()
            .then(function(response) {
                var dog_breeds = response;
                console.log(dog_breeds)
            });
    ...

但我没有收到任何返回信息和错误消息。有人可以指导我正确的方向吗?

最佳答案

我发布问题后不久就想通了!

最后我做了一个工厂,只从 URL 返回数据:

angular.module('myApp')
    .factory('DataService', function($http) {
        return {
            get_dog_breeds: function(urlString) {
                return $http.get(urlString)
        }
    }
})

然后像这样在我的组件的 Controller 中调用它:

DataService.get_dog_breeds('http://localhost:8080/php/api/getbreeds.php')
                .then(function (response) {
                    console.log(response.data);
                    $scope.dog_breeds = response.data;
                    return $scope.dog_breeds;
                }).catch(function (error) {
                console.log('Error returned: ' + error
                    + ' Please make sure the service you\'re trying to use exists');
                return false;
            });

而且它真的奏效了!

到目前为止很喜欢 AngularJS 顺便说一句 :)

关于javascript - 在 HTTP 请求 AngularJS 之后将数据从工厂返回到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45699202/

相关文章:

javascript - 从函数内部调用 $(document).ready() 是否安全?

javascript - for 循环中的回调完成后如何执行函数?

javascript - 如何在 Angular 中对组件进行单元测试?

javascript - 如何使用 ng-tags-input 添加标签数组?

angularjs - Angular js ng-repeat动态标题,避免列

javascript - 输入新 URL(在同一域中)后如何激活 onclick 事件?

javascript - 如何将今天的日期插入到 IMAGE URL 中?

javascript - soundcloud 如何隐藏流媒体音频的 URL

javascript - 允许用户使用angularjs在输入框中只输入正数

javascript - 我需要 Angular/Ionic 应用程序方面的帮助