Jquery 数据表ajax don';行不通

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

我有一个表,我正试图通过添加以下代码来添加ajax:

$('#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
。这会将所有搜索和排序条件发送回服务器,在服务器上编写代码来处理这些操作,并将响应发送回前端。