1

一旦我完成了角度的 $http.post ,我想更新我的控制器的状态。我目前向控制器广播模块数据的状态已更改,这会导致控制器自行刷新。但是,我在实施时遇到问题。

后模块:

angular.module('commandPoster',[]).
    service('commandPosterService', function($http) {
         this.postCommand(command, devMode, callback) {
            var path = "/client_api/command";

            if(devMode) {
                path = "/app_dev.php" + path;
            }

            $http.post(path, "commands=" + JSON.stringify(command), { headers: {'Content-Type':'application/x-www-form-urlencoded'} }).
                success(function() {
                   if(callback) {
                        console.log("callback");
                        callback();
                    }
                });

        }
    });

应用模块:

angular.module('fittingApp', ['$strap.directives', 'commandPoster'])
    .service('fittingDataService', ['$rootScope', 'commandPosterService',
        function ($rootScope, poster) {

        function broadcastStateChange (msg) {
            msg = msg | "no msg";
            console.log("updating: " + msg);
            $rootScope.$broadcast('stateChange');
        }

        this.postCommand = function (command, devMode) {
            poster.postCommand(command, devMode, broadcastStateChange);
        };
    });

编辑:

似乎它没有进入成功处理程序。但我觉得应该。我在测试中使用 $httpBackend 返回响应。

4

0 回答 0