Jquery 数据表ajax don';行不通
我有一个表,我正试图通过添加以下代码来添加ajax:Jquery 数据表ajax don';行不通,jquery,ajax,datatable,Jquery,Ajax,Datatable,我有一个表,我正试图通过添加以下代码来添加ajax: $('#example').DataTable({ 'serverSide': true, "bPaginate": false, "info": false, "iDisplayLength":20, "bLengthChange":false, 'ajax': { type: 'GET', 'url': 'https://api.myjson.com/bins
$('#example').DataTable({
'serverSide': true,
"bPaginate": false,
"info": false,
"iDisplayLength":20,
"bLengthChange":false,
'ajax': {
type: 'GET',
'url': 'https://api.myjson.com/bins/ftw5f',
'data': function(data) {
return data;
}
},
"columns": [{
"data": 'Name'
}, {
"data": 'Position'
}, {
"data": 'Office'
},
{
"data": 'Age'
},
{
"data": 'Start date'
},
{
"data": 'Salary'
},
],
initComplete: function () { // the filters });
当它是硬编码的时候——就像在fiddle中一样——它工作了——但是当我添加ajax——并删除所有硬编码的tr时——过滤器就不工作了。。。。我检查了控制台是否有错误-但没有。。。。谢谢。您的
列
声明不正确,右侧应该是其值应出现在该列中的键,而不是该列的标签
如果您的数据如下所示:
{
name: '',
position: '',
office: '',
age: '',
start_date: '',
salary: '',
}
然后列应该如下所示:
"columns": [{
"data": 'name'
}, {
"data": 'position'
}, {
"data": 'office'
}, {
"data": 'age'
}, {
"data": 'start_date'
}, {
"data": 'salary'
},
],
有关更多信息,请参阅文档:您的
列
声明不正确,右侧应该是其值应显示在该列中的键,而不是该列的标签
如果您的数据如下所示:
{
name: '',
position: '',
office: '',
age: '',
start_date: '',
salary: '',
}
然后列应该如下所示:
"columns": [{
"data": 'name'
}, {
"data": 'position'
}, {
"data": 'office'
}, {
"data": 'age'
}, {
"data": 'start_date'
}, {
"data": 'salary'
},
],
有关更多信息,请参阅文档:我认为您的问题在于属性“服务器端”:true。设置此选项后,搜索不再在客户端进行,而是在服务器上进行,因此需要编写服务器端代码来处理搜索并返回结果的子集。如果您希望从ajax源获取数据,并且仍然在客户端进行处理,只需删除
serverSide
标志
请参阅working fiddle我相信您的问题在于属性“服务器端”:true。设置此选项后,搜索不再在客户端进行,而是在服务器上进行,因此需要编写服务器端代码来处理搜索并返回结果的子集。如果您希望从ajax源获取数据,并且仍然在客户端进行处理,只需删除
serverSide
标志
请参阅控制台中的“网络”选项卡中的“工作小提琴”查看,是否向服务器发出了请求?如果是,响应是什么?查看控制台中的“网络”选项卡,是否向服务器发出了请求?如果是,响应是什么?谢谢-那么我什么时候使用“服务器端”:true?当您有一个巨大的数据集(可能有一百万条记录)而不想加载到页面中时,您可以使用
serverSide:true
。这会将所有搜索和排序条件发送回服务器,您可以在服务器上编写代码来处理这些操作,并将响应发送回前端。谢谢-那么我什么时候使用“服务器端”:true?当您有一个庞大的数据集(可能有一百万条记录)不想加载到页面中时,您可以使用serverSide:true
。这会将所有搜索和排序条件发送回服务器,在服务器上编写代码来处理这些操作,并将响应发送回前端。