Заставьте jquery таблицы данных загружаться быстрее Nodejs бэкэнд - PullRequest
0 голосов
/ 21 марта 2020

Я использую Jquery таблицы данных для отображения данных пользователю.

Поэтому, когда пользователь делает запрос на странице на моем Nodejs сервере:

router.get("/",middleware.isLoggedIn,async function (req, res) {
  try{
       let result = await rows.query(`
                    Select col1,col2,col3,col4,col5 from mytable where condition`)
        res.render("Page.ejs",{data:result.recordset})
   }
   catch(err){
      console.log(err)
   }
})

Сейчас , используя эти данные:

let tblAssignedJobs = $('#tblAssigned').DataTable({
"pageLength": 25,
"oLanguage": {
    "sEmptyTable":"There are no jobs assigned to you at this moment"
}
});




function populateData(assignedData) {
    let frmEditJobString = ""
    let rows = ""
    tblAssigned.clear().draw()
    for(let item of assignedData){
        frmEditJobString = 
                        `<form action="/editJobs" method="POST">
                        <input style="display:none"  name="jobNumber" value="${item.RoeseJobNumber}"> 
                        <button class="btn btn-primary">Edit Job</button></form>`
        rows = rows +  `<tr><td>${item.Number}</td>
                                    <td>${item.Type}</td>
                                    <td>${item.Name}</td>
                                    <td>${item.CustomerName}</td>
                                    <td>${item.Description}</td>
                                    <td>${item.Number}</td>
                                    <td>${item.Address}</td>
                                    <td>${frmEditString}</tr>`

    }

    tblAssigned.rows.add($(rows)).draw();

    //Remove from memory
    frmEditJobString = "" 


}

Теперь, чтобы загрузить 15 588 строк, требуется около 5 секунд, что не так уж и плохо, но я чувствую, что было бы намного лучше, если бы я мог просто загрузить первую страницу и загрузить другие страницы в фоновом режиме, так как я показываю 25 записей на странице.

Или есть способ делать запросы на страницу вместо загрузки всех данных. Если кто-то использовал Nodejs с bootstrap datatable, какое решение вы применили?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...