我的模板可以在http://goo.gl/xEttgl找到。我通过将它声明为全局变量
来硬编码postDatavar postData = {'result': '27'};
app.factory('mypostService', function($http) {
return {
postFooOldSchool: function() {
$http.post('/angularresult', JSON.stringify(postData)
).success(function(data, status, headers){
}).error(function(data, status, headers){
});
}
}
});
app.controller('StartUpController', function($scope, $http, myService, mypostService) {
$scope.upvotes = 0;
$scope.serverupvotes = 0;
$scope.increase = function(){
$scope.upvotes = $scope.upvotes + 1;
};
mypostService.postFooOldSchool(function(data) {
});
myService.getFooOldSchool(function(data) {
$scope.result = data;
});
});
但我想要做的是从StartUpController里面的$ scope动态发送postData,即假设我点击upvote按钮,我想在POST中发送$ scope.upvotes的当前值并将其显示在结果中。
答案 0 :(得分:0)
我通过使用工厂过度复杂化问题,我找到了一个简单的解决方案,而不是使用POST工厂,我可以直接从Controller发送$ http.post请求。样本解决方案如下
$scope.increase = function(){
$scope.upvotes = $scope.upvotes + 1;
var x = $scope.upvotes;
alert(x)
var postObject = {'result': x};
$http.post('/angularresult', JSON.stringify(postObject)).success(function(data){
});
myService.getFooOldSchool(function(data) {
$scope.result1 = data;
});
};