我希望简单地对期望Key和Value对List的方法进行AJAX调用,但我不知道如何做到这一点。我尝试了以下方法:
服务器方法:
UpdateBranches(List<KeyValuePair<string, string>> brancheItems)
要发送的数据:
var brancheItems = [];
businessActivities.forEach(f =>
brancheItems.push({
Key: f.sbiCode,
Value: f.sbiCodeDescription
})
这似乎给了我一组具有键和值属性的对象。 (网络选项卡显示它),但它没有用。我还尝试使用一个属性创建一个对象数组(propertyname是键,value是值):
for (var itemIndex in items[index].businessActivities) {
var key = items[index].businessActivities[itemIndex].sbiCode;
brancheItems.push({
key: items[index].businessActivities[itemIndex].sbiCodeDescription
});
}
请注意,在服务器上,我似乎收到了包含两个属性的3个项目的数组/列表,但属性始终为空。有没有人知道要发送的数据的正确格式
答案 0 :(得分:0)
我认为您可以像这样简单地创建对象:
var ParamtersContainer = new Object();
ParamtersContainer = {
"PatientName": 'Alameer',
"ServiceDate": '12/12/2017',
"ProviderName": 'ahmed'
};
然后在ajax请求中将其作为数据参数,在c#动作中将其作为字典接收。
答案 1 :(得分:0)
使用类似的东西。
$.ajax({
type: 'POST',
url: url,
contentType: "application/json",
data:JSON.stringify( {brancheItems: brancheItems}),
success: function (data) {
alert("Succeded");
}
});
并使用bracket表示法:
而不是brancheItems.push({ key : value });
使用
var object = {};
object[key] = value;
brancheItems.push(object);