将多个参数传递给$ http.post?

时间:2014-04-17 17:50:01

标签: angularjs angularjs-service angularjs-http

我正在尝试使用以下网址执行发布请求以在服务器中保存数据:

url = /api/projects/:projectId/scenarios/:scenarioId

我想传递projectId和scenarioId。我怎么能用$ http.post做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用$ resource(比$ http更强大)

服务或工厂更好。

angular.module('MyApp.services').
factory('Project_Resource',["$resource", function ($resource){
    var baseUrl = "/api/projects/";
    return  $resource(baseUrl+':projectId',{}, {
        query: { method: 'GET', isArray: true },
        get:   { method: 'GET' } ,
        getScenarios : {method: 'GET',url:baseUrl+':projectId/scenarios/:scenarioId',isArray: true},
    });
}]);

.... 在控制器内部(不要忘记声明Project_Resource)

var projectIdParam = 5;
var scenarioIdParam = 15;
Project_Resource.getScenarios({projectId:projectIdParam, scenarioId: scenarioIdParam}, 
  function (data) {   //success
      //Store data in variable          
  },
  function (data) {   //failure

  });