AJAX Post的数据格式

时间:2013-11-14 22:29:18

标签: javascript jquery ajax asp.net-mvc-4

在我的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; }
}

1 个答案:

答案 0 :(得分:0)

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

var i = 0;
for (var idx in data) {
    params['percentages[' + i + '].Id'] = data[idx].Id;
    params['percentages[' + i + '].Percentage'] = data[idx].Percentage;
    i++;
}