我需要将字典发布到服务器。我的代码工作正常。
服务器端:
[HttpPost]
public JsonResult SomeMethod(Dictionary<string, string> someData) {
SomeAction();
return null;
}
客户端:
postMethod = function() {
var someData = {};
someData["1"] = "1";
someData["2"] = "2";
$.ajax({
url: '/SomeMethod/',
type: 'POST',
traditional: true,
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
someData: someData
}),
});
return false;
};
但是,如果我将控制器方法中someData
的类型更改为Dictionary<int, int>
并尝试传递
someData[1] = 1;
someData[2] = 2;
控制器方法中的 someData
为空。
为什么呢?传递字符串字典和整数字典有什么区别?
答案 0 :(得分:0)
You can try using Array ..
var someData = new Array();
someData.key1 = 1;
someData.key2 = 2;
$.ajax({
url: '/SomeMethod/',
type: 'POST',
traditional: true,
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
someData: someData
}),
});