我正在使用带有服务器端处理的数据表。它将所有参数发送到服务器,甚至可以进行列排序等基本操作。如何防止它,任何想法?以下是作为查询字符串传递的ajax get参数。
columns[0][data] 0
columns[0][name]
columns[0][orderable] true
columns[0][search][regex] false
columns[0][search][value]
columns[0][searchable] true
columns[1][data] 1
columns[1][name]
columns[1][orderable] true
columns[1][search][regex] false
columns[1][search][value]
columns[1][searchable] true
columns[2][data] 2
columns[2][name]
columns[2][orderable] true
columns[2][search][regex] false
columns[2][search][value]
columns[2][searchable] true
draw 2
length 10
order[0][column] 1
order[0][dir] asc
search[regex] false
search[value]
start 0
这是数据表初始化javascript代码,
$(selector).dataTable({
"processing": true,
"serverSide": true,
"ajax": url,
"autoWidth": false,
"aoColumnDefs":[
{
'aTargets': 0,
'bSortable': true
},
{
'aTargets': 1,
'bSortable': true,
'mRender': function (link) {
return '<a href="' + link + '">' + link + '</a>';
}
},
{
'aTargets': 2,
'bSortable': true,
'mRender': function (link) {
return '<a href="' + link + '">' + link + '</a>';
}
}
]
});
答案 0 :(得分:0)
喜欢这个吗?
$(selector).dataTable({
"processing": true,
"serverSide": true,
"ajax": url,
"autoWidth": false,
"aoColumnDefs":[{
'aTargets': 0,
'bSortable': true
}, {
'aTargets': 1,
'bSortable': true,
'mRender': function (link) {
return '<a href="' + link + '">' + link + '</a>';
}
}, {
'aTargets': 2,
'bSortable': true,
'mRender': function (link) {
return '<a href="' + link + '">' + link + '</a>';
}
}],
fnServerParams: function(query_strings) {
query_string.splice(0);
/*
query_strings is an Array of Objects like this
[{name: 'query_string1', value: 'query_string1_value'},
{name: 'query_string2', value: 'query_string2_value'},
{name: 'query_string3', value: 'query_string3_value'}]
As you can see, the 'name' and 'value' represents the query string's key/value pair.
If you want to add another one you need to add another object:
query_string.push({
name: 'page',
// To get the page number you are going to
value: $(selector).dataTable().api().page.info().page
});
*/
}
});