Jquery Datatable数据到json

时间:2016-10-25 13:23:32

标签: javascript jquery json ajax datatable

我正在开发一个场景,需要将数据表数据传递给服务器端。 这是我试过的 -

在视图中获取数据表数据 -

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)
{ 
}

我在服务器端获得空值。如何将所有数据表数据传递到服务器端?

3 个答案:

答案 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

如果在对数据表数据进行字符串化时出现循环引用错误,请查看herehere 有一些很好的建议,你可能会找到外部的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/