Ajax数组转换为关联数组



因此,我正在RubyonRails中构建一个API,并试图强制通过ajax发送一个数组。

如果不是因为数组是作为一个非常规数组的关联数组接收的,这似乎是一项非常容易的任务!

基本上是一个包含以下对象的数组:

[
{
"shipping_id":"1",
"option":"1"
},
{
"shipping_id":"2",
"option":"2"
}
]

变为:

{"0"=>{"shipment_id"=>"1", "option"=>"1"}, "1"=>{"shipment_id"=>"2", "option"=>"2"}}

而不是

[{"shipping_id"=>"1", "option"=>"1"}, {"shipping_id"=>"2", "option"=>"2"}]

这是我用来测试API的JS:

function select_shipping(){
obj1 = {
"shipment_id": "1",
"option": "1"
};
obj2 = {
"shipment_id": "2",
"option": "2"
};
var shipments = [obj1, obj2];
var payload = {
user_options: shipments
}
$.post('/shipping/calculate/select',   // url
payload, // data to be submit
function(data, status, jqXHR) {// success callback
console.log(data);
})
}

如何将有效负载转换为常规数组而不是关联数组?

您可以执行以下操作:

请注意,此解决方案可以处理任意数量的发货

var shipments = [
{
"shipping_id":"1",
"option":"1"
},
{
"shipping_id":"2",
"option":"2"
}
]
var payload = {}
shipments.map(
function(shipment, index){
payload["$".concat(index)] = shipment;
}
);
console.log(payload);

最新更新