我正在尝试将Json数据发送到我的Controller Action。
JQuery的
function SaveConnection() {
debugger;
var CardConnection = {
ConnectionDetails: []
};
var allConn = jsPlumb.getAllConnections();
var length = allConn["green dot"].length;
for (var i = 0; i < length; i++) {
CardConnection.ConnectionDetails.push({
"CardIDFrom": allConn["green dot"][i].sourceId,
"CardIDTo": allConn["green dot"][i].targetId
});
}
var CardDetails = $('#CardDetails');
var url = CardDetails.attr('save-data');
$.ajax({
url: url,
data: JSON.stringify(CardConnection),
type: 'POST',
contentType: 'application/json, charset=utf-8',
dataType: 'json'
});
return false;
}
控制器操作
public ActionResult SaveConnections(List<CardConnection> ConnectionList)
{
return Json(ConnectionList);
}
问题是 - 它在行动的参数中始终显示为空。
答案 0 :(得分:1)
变量应该是这样的
var CardConnection = {
ConnectionList: []
};
它应该不是这样的
var CardConnection = {
ConnectionDetails: []
};
为什么?
在action参数中,变量名称为ConnectionList
答案 1 :(得分:0)
我遇到了类似的问题。解决方案是告诉iis mime类型的json,因为默认情况下无法处理它。
添加
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
将web.config作为system.webServer的子级。