1

在我的 AJAX 通话后,我希望数据的格式如下(在 Chrome 网络标题详细信息中查看时)——这是服务器端所期望的。问题是:我怎样才能更新下面的 JS 来格式化这样的数据:

percentages[0].Id:7
percentages[0].Percentage:26.1
percentages[1].Id:8
percentages[1].Percentage:20.3

但是,数据目前的格式是这样的

percentages[0][Id]:7
percentages[0][Percentage]:26.1
percentages[1][Id]:8
percentages[1][Percentage]:20.3

在通过 AJAX 发送数据之前,我目前正在 JS 中像这样格式化数据

var params = {};
var dict = [];
for (var idx in data) {
    var item = {
        Id: idx,
        Percentage: data[idx]
    };
    dict.push(item);
}
params['percentages'] = dict;

其中data变量具有这样的数据(写入 Chrome 控制台时):

Object {7: "26.1", 8: "20.3"}

提前致谢

编辑:
响应@Bogangles 请求:我正在使用.NET,我试图填充的结构是:

IEnumerable<PercentageViewModel> percentages

哪里PercentageViewModel是:

public class PercentageViewModel
{
    public int Id { get; set; }
    public string Percentage { get; set; }
}
4

1 回答 1

0

这是允许正确填充服务器端数据结构的答案

var i = 0;
for (var idx in data) {
    params['percentages[' + i + '].Id'] = data[idx].Id;
    params['percentages[' + i + '].Percentage'] = data[idx].Percentage;
    i++;
}
于 2013-11-16T16:25:41.150 回答