Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该在哪里使用angularjs中的$http-&燃气轮机;工厂与服务的区别_Angularjs_Angularjs Service_Angularjs Controller - Fatal编程技术网

我应该在哪里使用angularjs中的$http-&燃气轮机;工厂与服务的区别

我应该在哪里使用angularjs中的$http-&燃气轮机;工厂与服务的区别,angularjs,angularjs-service,angularjs-controller,Angularjs,Angularjs Service,Angularjs Controller,我应该何时在angularjs中使用$http? 在控制器中或在服务中? 我已经在服务中实现了它,但我不想在应用程序启动时执行,我想在一些用户操作后执行,这在服务中可能吗 'use strict'; /* Services */ // Demonstrate how to register services // In this case it is a simple value service. angular .module('myApp.services') .serv

我应该何时在angularjs中使用$http? 在控制器中或在服务中? 我已经在服务中实现了它,但我不想在应用程序启动时执行,我想在一些用户操作后执行,这在服务中可能吗

'use strict';

/* Services */

// Demonstrate how to register services
// In this case it is a simple value service.
angular
    .module('myApp.services')
    .service(
            'RestService',
            function($http, $log) {

                this.getERPProfile = function() {
                    var request = request;
                    request = JSON.stringify(request);


                    $http(
                            {
                                url : url,
                                method : "POST",
                                headers : {
                                    'Accept' : 'text/xml',
                                    'Content-Type' : '"text/xml; charset=\"utf-8\""'
                                },
                                dataType : 'xml',
                                data : request

                            }).success(
                            function(data, status, headers, config) {
                                var v1 = data;
                                return data;
                                $log.log(v1);
                            }).error(
                            function(data, status, headers, config) {
                                var v2 = status;
                                return data;
                                $log.log(v2);
                            });
                };
有没有人能很好地证明工厂和服务的区别?angulajs网站不能帮助我理解


谢谢你的帮助

服务仅在第一次调用时实例化一次。例如,它们用于在控制器之间共享逻辑和公开数据。控制器是视图和模型之间的粘合剂,就像在任何MVC框架中一样

是否在应用程序启动时运行它与从控制器或服务执行$http请求无关。当您需要http请求时,可以对其进行Mae


请注意,当angular查找
时,控制器被实例化。如果您的http请求在那里,它将被触发。几周前有一次,还有一次是关于。

这里有一个很好的解释:嗨,谢谢你的快速回答!这意味着,我不应该为我的请求使用该服务?你能告诉我工厂的情况吗?服务和工厂有什么区别?为什么我应该同时使用这两种方法?谢谢服务与工厂@zualexander我建议您阅读控制器和服务,但现在不要阅读工厂。如果您想在用户操作之后执行http请求,我会将其放在控制器的函数中。您可以调用http,也可以调用为您执行此操作的服务中的方法。服务用于在控制器之间共享逻辑和数据。嗨,这是一个很好的例子,我不记得在哪里找到它了^^Hi@Wisher,谢谢!然而,在那个例子中,他们使用全局函数(他们使用
var
,但我猜他们使用它的方式污染了全局名称空间),但我确实喜欢澄清服务实例、工厂和提供者之间区别的注释