服务器端数据表以json

时间:2015-06-25 13:19:46

标签: javascript jquery json jquery-plugins datatables

我正在尝试将服务器处理与数据表一起使用:

$("#my-table-id").DataTable( {
    serverSide: true,
    ajax: {
    url: '/request/path/',
    type: 'POST',    
    }
});

以url编码方式发送数据,如您所见,这是非常难以管理的:

  

绘制= 1&安培;柱%5B0%5D%5Bdata%5D = 0&安培;柱%5B0%5D%5Bname%5D =安培;柱%5B0%5D%5Bsearchable%5D =真安培;柱%5B0%5D%5Borderable %5D =真安培;柱%5B0%5D%5Bsearch%5D%5Bvalue%5D =安培;柱%5B0%5D%5Bsearch%5D%5Bregex%5D =假安培;柱%5B1%5D%5Bdata%5D = 1&安培;列%5B1%5D%5Bname%5D =安培;柱%5B1%5D%5Bsearchable%5D =真安培;柱%5B1%5D%5Borderable%5D =真安培;柱%5B1%5D%5Bsearch%5D%5Bvalue%5D =安培;柱%5B1%5D%5Bsearch%5D%5Bregex%5D =假安培;柱%5B2%5D%5Bdata%5D = 2及列%5B2%5D%5Bname%5D =安培;柱%5B2%5D%5Bsearchable%5D =真安培;柱%5B2%5D%5Borderable%5D =真安培;柱%5B2%5D%5Bsearch%5D%5Bvalue%5D =安培;柱%5B2%5D%5Bsearch%5D%5Bregex%5D =假安培;柱%5B3 %5D%5Bdata%5D = 3及列%5B3%5D%5Bname%5D =安培;柱%5B3%5D%5Bsearchable%5D =真安培;柱%5B3%5D%5Borderable%5D =真安培;柱%5B3%5D %5Bsearch%5D%5Bvalue%5D =安培;柱%5B3%5D%5Bsearch%5D%5Bregex%5D =假安培;柱%5B4%5D%5Bdata%5D = 4和;列%5B4%5D%5Bname%5D =安培;C olumns%5B4%5D%5Bsearchable%5D =真安培;柱%5B4%5D%5Borderable%5D =真安培;柱%5B4%5D%5Bsearch%5D%5Bvalue%5D =安培;柱%5B4%5D%5Bsearch%5D% 5Bregex%5D =假安培;柱%5B5%5D%5Bdata%5D = 5&安培;柱%5B5%5D%5Bname%5D =安培;柱%5B5%5D%5Bsearchable%5D =真安培;柱%5B5%5D%5Borderable% 5D =真安培;柱%5B5%5D%5Bsearch%5D%5Bvalue%5D =安培;柱%5B5%5D%5Bsearch%5D%5Bregex%5D =假安培;柱%5B6%5D%5Bdata%5D = 6&安培;柱% 5B6%5D%5Bname%5D =安培;柱%5B6%5D%5Bsearchable%5D =真安培;柱%5B6%5D%5Borderable%5D =真安培;柱%5B6%5D%5Bsearch%5D%5Bvalue%5D =安培;列%5B6%5D%5Bsearch%5D%5Bregex%5D =假安培;柱%5B7%5D%5Bdata%5D = 7&安培;柱%5B7%5D%5Bname%5D =安培;柱%5B7%5D%5Bsearchable%5D =真安培;柱%5B7%5D%5Borderable%5D =真安培;柱%5B7%5D%5Bsearch%5D%5Bvalue%5D =安培;柱%5B7%5D%5Bsearch%5D%5Bregex%5D =假安培;为了%5B0%图5D%5Bcolumn%5D = 0&安培;为了%5B0%5D%5Bdir%5D = ASC&安培;开始= 0&安培;长度= 100安培;搜索%5Bvalue%5D =安培;搜索%5Bregex%5D =假

解码:

  

绘制= 1&安培;列[0] [数据] = 0&安培;列[0] [名称] =&安培;列[0] [搜索] =真&安培;列[0] [订购] =真&安培;列[0 ] [搜索] [值] =&安培;列[0] [搜索] [正则表达式] = FALSE&安培;列[1] [数据] = 1&安培;列[1] [名称] =&安培;列[1] [搜索] =真安培;列[1] [订购] =真&安培;列[1] [搜索] [值] =&安培;列[1] [搜索] [正则表达式] = FALSE&安培;列[2] [数据] = 2及列[2] [姓名] =&安培;列[2] [搜索] =真&安培;列[2] [订购] =真&安培;列[2] [搜索] [值] =&安培;列[2] [搜索] [正则表达式] =假安培;列[3] [数据] = 3及列[3] [名称] =&安培;列[3] [搜索] =真&安培;列[3] [订购] =真&安培;列[3] [搜索] [值] =&安培;列[3] [搜索] [正则表达式] = FALSE&安培;列[4] [数据] = 4和;列[4] [名称] =&安培;列[4] [搜索] =真&安培;列[4] [订购] =真&安培;列[4] [搜索] [值] =&安培;列[4] [搜索] [正则表达式] = FALSE&安培;列[5] [数据] = 5&安培;列[5 ] [名称] =&安培;列[5] [搜索] =真&安培;列[5] [订购] =真&安培; COL UMNS [5] [搜索] [值] =&安培;列[5] [搜索] [正则表达式] = FALSE&安培;列[6] [数据] = 6&安培;列[6] [名称] =&安培;列[6] [搜索] =真&安培;列[6] [订购] =真&安培;列[6] [搜索] [值] =&安培;列[6] [搜索] [正则表达式] = FALSE&安培;列[7] [数据] = 7安培;列[7] [名称] =&安培;列[7] [搜索] =真&安培;列[7] [订购] =真&安培;列[7] [搜索] [值] =&安培;列[7] [搜索] [正则表达式] = FALSE与秩序[0] [列] = 0&安培;顺序[0] [DIR] = ASC&安培;开始= 0&安培;长度= 100安培;搜索[值] =&安培;搜索[正则表达式] = FALS < / p>

我希望能够将其作为JSON发送,这似乎是一种在后端接收此数据的更清晰的方式。 我不知道它是如何在前端发送数据的,所以我不能使用这个问题应该是重复的解决方案

1 个答案:

答案 0 :(得分:1)

要以JSON字符串形式提交数据,请使用以下代码:

$("#my-table-id").DataTable( {
    serverSide: true,
    ajax: {
       url: '/request/path/',
       type: 'POST',
       data: function (d) {
         return JSON.stringify(d);
       }
    }
});

有关详细信息,请参阅ajax.data