2

我有一个 jQuery$.ajax()帖子,需要向数组中每个项目的请求添加一个对象(它是一个对象吗?字符串?)。我不知道这样做的最佳方法。我想最好首先将数据属性中的项目作为变量分离出来,以便在请求之前计算它......但我不确定如何构建每个元素。所以这里有一些虚构的东西来说明我的观点。

var items   = for (var i = 0; i < $orderItems.length; i++){
                  'item': {
                      'photo': $orderItems[0].photo,
                      'option': $orderItems[0].option,
                      'cost': $orderItems[0].cost
                  }
              },
    request = $.ajax ({
                    type: 'POST',
                    dataType: 'json',
                    data: {
                        'firstName': $firstNameVal,
                        'lastName': $lastNameVal,
                        'email': $emailVal,
                        'phone': $numberVal,
                        'address': {
                            'street': $streetVal,
                            'city': $cityVal,
                            'state': $stateVal,
                            'zip': $zipVal
                        },
                        'price': $orderTotal,
                        'items': items
                    }
                });
4

1 回答 1

2

您可以使用 jQuery.map 函数来获取项目数组:

var items = $.map($orderItems, function (item) {
     return {
          photo: item.photo,
          option: item.option,
          cost: item.cost
     };
});
于 2012-10-22T07:37:11.767 回答