从数组中删除值并将它们添加到POST方法请求

时间:2017-08-24 14:57:09

标签: javascript angularjs arrays

我的AngularJS应用中有一个购物车,我需要通过POST方法识别他们的ID。

它们存储在名为patent_ids的数组中,并附加到请求中,如下所示:

 var cartArr = [];
 var cartItems = ngCart.getItems()

 cartItems.forEach(function(currentValue, index, array){
     cartArr.push(currentValue._id)
  })

  var obj = {
      patent_id: cartArr
  };

  fetchBasketPatents(obj);

function fetchBasketPatents(obj) {
    //load of code to call service and pass the ids
}
var REST_SERVICE_URI = 'http://localhost:8080/p3sweb/rest-basket/';

factory.fetchBasketPatents = function(ids) {

    var deferred = $q.defer();

    $http.post(REST_SERVICE_URI, ids) //REQUEST TO BACK END WITH IDS
    .then(
        function(response){
            deferred.resolve(response.data)
        },
        function(errResponse){
            deferred.reject(errResponse)
        }
    )

    return deferred.promise;

}

它可以工作,但如果不是在命名数组中发送id,它们可以作为匿名数组发送,或者甚至更好地将每个项目提取并插入到匿名对象中,这样会更容易。

问题

如何在匿名数组或对象中发送POST请求中的ID?如果我遗漏了一些明显的东西,请道歉。

1 个答案:

答案 0 :(得分:1)

  

如何在匿名数组或对象中发送POST请求中的id?

来自文件:

   $http.post('/someUrl', data, config).then(successCallback, errorCallback);

数据 - {string|Object}

所以答案是:你不能定义匿名数组,只能定义对象(就像你做的那样)