我正在开发一个场景,需要将数据表数据传递给服务器端。 这是我试过的 -
在视图中获取数据表数据 -
var oTable = $('#DetailTable').dataTable();
var data = oTable.fnGetData();
然后尝试使用ajax cal发布数据 -
$.ajax({
type: "POST",
dataType: 'text',
data: data,
url: "/Admin/SaveAll",
success: function (result) {
}
});
在Controller动作方法中 -
public ActionResult SaveAll(string data)
{
}
我在服务器端获得空值。如何将所有数据表数据传递到服务器端?
答案 0 :(得分:0)
特别是在这种情况下,您使用旧样式API(fnGetData)和新样式API对象。我建议你改用row()。data()。
答案 1 :(得分:0)
__repr__()
方法中的data
参数是另一方的字符串,您通过SaveAll
获取表记录此函数将以JSON格式返回记录,因此您应该创建fnGetData()
字符串,然后将其作为JSON
数据传递,
所以试试这个
Ajax
正如您所看到的那样this link讨论了如何通过var postData = JSON.stringify({ 'data': data});
$.ajax({
type: "POST",
data: postData,
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "/Admin/SaveAll",
success: function (result) {
}
});
将数据表数据发送到服务器,并且他们正在使用ajax
。
如果在对数据表数据进行字符串化时出现循环引用错误,请查看here和here 有一些很好的建议,你可能会找到外部的lib来做到这一点。
我希望这可以帮助您解决问题。
答案 2 :(得分:0)
这是一个希望能解决的解决方案。
var data = $('table#DetailTable tr').map(function() {
return $(this).find('td').map(function() {
return $(this).html();
}).get();
}).get();
console.log(data);
你可以参考:Convert a HTML table data into a JSON object in jQuery
这是一个小提琴(见控制台):https://jsfiddle.net/5mt5kkzr/