是否可以从AngularJS

时间:2016-11-11 15:19:39

标签: angularjs

我没有使用对象或单个参数构造$http.post请求的问题,但在一个特定情况下,我需要传递2个简单参数,一个整数和一个字符串。

通常我会使用:

 $http.post(url, id)
       .success(function (data, status, header) {
           $scope.result = data;

       })
       .error(function (data, status, header) {
           $scope.result = "Data: " + data +
               "<hr />status: " + status;
           console.log(header.responseText);
       });

但是如何修改它以传递两个参数?

我尝试创建一个具有两个属性的对象并传递该对象:

var inData = {
   id: id,
   param2: param2
}

$http.post(url, inData)
   .success(function (data, status, header) {
       $scope.result = data;

   })
   .error(function (data, status, header) {
       $scope.result = "Data: " + data +
           "<hr />status: " + status;
       console.log(header.responseText);
   });

但后来我不确定在我的Web API方法中通过url参数传递的参数是什么。

是否可以传入2个单独的参数而不是传入对象?

1 个答案:

答案 0 :(得分:0)

  

但后来我不确定在我的Web API方法中通过url参数传递的参数是什么。

作为可选配置对象的一部分,URL参数被添加到$http.post方法:

 var params = { name: value,
                name2: value2
              };
 $http.post(url, data, { params: params });

在上面的示例中,$ http服务会将?name=value&name2=value2附加到网址。 data参数放在POST请求的主体中。如果data参数是一个对象,它将使用默认的transformRequest函数转换为字符串。

有关详细信息,请参阅AngularJS $http Service API Reference