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