Javascript 在angularJS中使用相同的控制器函数执行GET和POST请求

Javascript 在angularJS中使用相同的控制器函数执行GET和POST请求,javascript,angularjs,angularjs-directive,angularjs-scope,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Ng Repeat,我正在用AngularJS和Java开发一个网页。我正在使用REST服务获取清单描述图,如下所示: {checklist:{'sample1': true, 'sample2': false, 'sample3': true}} 我的控制器如下: angular.module('checklist.controllers',[]) .controller('MyCtrl', ['$scope','CheckFactory', function ($scope,CheckFactory) {

我正在用AngularJS和Java开发一个网页。我正在使用REST服务获取清单描述图,如下所示:

{checklist:{'sample1': true, 'sample2': false, 'sample3': true}}
我的控制器如下:

angular.module('checklist.controllers',[])
.controller('MyCtrl', ['$scope','CheckFactory', function ($scope,CheckFactory) {
  CheckFactory.query({}, function (data){
    $scope.sample=data.checklist;
  });
}]);
我的服务:

angular.module('checklist.services',['ngResource'])
factory('CheckFactory', ['$resource', function ($resource) {
  return $resource('#myRESTendpoint', {}, {
    query: { method: 'GET', params:{} }
  });
}]);
我已经相应地配置了我的
app.js
和我的HTML:

<label ng-repeat="(key,data) in sample"> 
  <input type="checkbox" ng-model="sample[key]"/>
  {{key}}
  <br/>
</label>

{{key}}

一切正常,只要地图上的值为真,我就会检查一份值清单。但是,如果我将同一页面中复选框的现有“false”值更改为“true”,并将其发布到rest服务,而不将其重定向到另一个控制器进行更新的新页面,是否有一种方法可以增强当前的实现以发布更新请求


请提供一些输入或资源链接,可以帮助我找到解决方案!谢谢

您可以在服务中使用“return$http.post(yourendpointURL)”,而不是使用$resource。之后,在控制器中使用延迟方法,例如
。然后(函数(响应){$scope.data=response.data;})


在您的输入中添加一个ngClick[复选框]以调用控制器中的函数,该函数调用$http服务来更新您的数据。

无法完全得到您的答案。我从过去4天开始研究angular,我试图得到一个清单对象,它有一个值映射,其中键作为描述,值为真/假。我希望根据已选中的值填充复选框,如果执行并提交了更新,则使用REST服务通过post请求更新现有对象。我使用angularJS和后端作为Java。无法获得关于如何实现这一点的任何线索。你能至少用一个例子详细说明你的回答吗?