如何将自定义参数添加到 Angular 5 DataTables

Cod*_*ver 0 angular-datatables angular

我正在使用 PHP 作为后端开发 Angular5 项目。我被困在这个级别。以下是我的代码:

this.dtOptions = {
  pagingType: 'full_numbers',
  pageLength: 10,
  order: [0, 'desc'],
  serverSide: true,
  processing: true,
  ajax: (dataTablesParameters: any, callback) => {
    that.http
      .post<DataTablesResponse>(
        'http://localhost/api/webapi/',
        dataTablesParameters,{ headers: new HttpHeaders({
          'Content-Type':  'application/json',
          'Authorization': 'token'
        })}
      ).subscribe(resp => {
        that.records = resp.data;
        callback({
          recordsTotal: resp.recordsTotal,
          recordsFiltered: resp.recordsFiltered,
          data: []
        });
      });
  },
  columns: [{ data: 'id' }, { data: 'name' }]
};
Run Code Online (Sandbox Code Playgroud)

正如我在这段代码中所观察到的,我发送的是数据表“dataTablesParameters”的默认参数。如何添加我的自定义参数,如 (entryid) 以及“dataTablesParameters”?

请指导。

Aka*_*ash 6

你只需要像这样声明对象:

userData = { token: '', entryid : '' };
Run Code Online (Sandbox Code Playgroud)

并且在调用 ajax 时,您应该使用 Object.assign 合并两个对象,例如:

Object.assign(dataTablesParameters,this.userData)

ajax: (dataTablesParameters:any, callback) => {
        that.http
          .post<DataTablesResponse>(
            'http://localhost/api/webapi/',Object.assign(dataTablesParameters,this.userData),{}).subscribe(resp => {
            that.records = resp.data;
            console.log(resp);
            callback({
              recordsTotal: resp.recordsTotal,
              recordsFiltered: resp.recordsFiltered,
              data: []
            });
          });
      },
Run Code Online (Sandbox Code Playgroud)

检查这个完整的教程,以便您更好地理解。使用带有重新渲染的 JSON 数据的 Angular 5 数据表