JQuery Datatable с NodeJS и MySql - PullRequest
0 голосов
/ 07 июня 2018

Я хочу отобразить значения в моем Datatable.Я открыл свой инструмент разработчика Chrome и перешел на вкладку сети, XHR и проблема в том, что ответом является HTML-документ

код на стороне сервера:

router.get('/agents', (req, res) => {
  let dB = req.dB;
  let sql = 'SELECT * FROM tbl_users WHERE role_id = 3';

  dB.query(sql, (err, agents) => {
    if (err) throw err;
    const data = { agents };
    console.log(data);

    res.render('dashboard/agents', data);
  });
});

сценарий на стороне клиента:

$('#agent_table').DataTable( {
  processing: true,
  serverSide: true,
  ajax: {
    url: '/administrator/agents',
    type: 'GET',
    dataSrc: 'agents'
  },
  columns: [
    { data: 'user_id' },
    { data: 'checked' },
    { data: 'first_name' },
    { data: 'middle_name' },
    { data: 'role_id' },
  ]
} );

htmlt на стороне клиента:

<table id="agent_table" class="table table-striped table-bordered dt-responsive nowrap"
            cellspacing="0" width="100%">
            <thead>
              <tr>
                <th>User ID</th>
                <th>
                  <div class="checkbox checkbox-success select_all">
                    <input class="styled" type="checkbox" id="check_all">
                    <label for="check_all" class="check_all_label">All</label>
                  </div>
                </th>
                <th>First Name</th>
                <th>Middle Name</th>
                <th>Last Name</th>
                <th>Role</th>
              </tr>
            </thead>
          </table>

консольный журнал на сервере

{агенты: [RowDataPacket {user_id: 6, first_name: 'Pamela', отчество:' Pearl ', фамилия:' Sabes ', электронная почта:' test@gmail.com ', пароль:' 1bd07c9db7ae63c02f2ee75471727f58 ', номер мобильного телефона:' 09503713607 ', код приглашения:' ', день рождения:' 29 ноября 2005 г. ',пол: 'Женский', адрес: '', изображение: null, contact_person: '', contact_person_number: '', role_id: 3, долгота: '', широта: '', medical_info: '', is_verified: 1, is_deleted:0, create_at: '0000-00-00 00:00:00', updated_at: 2018-05-30T20: 42: 43.000Z}]}

1 Ответ

0 голосов
/ 14 июня 2018

Я думаю, проблема в том, что вы используете res.render.Потому что, согласно экспресс-документации, функция res.render () компилирует ваш шаблон, вставляет туда локальные объекты, создает html-вывод из этих двух вещей и отправляет его.Так что вместо этого попробуйте это.res.json(data)

...