一旦我完成了角度的 $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 返回响应。