узел js записывает переменную html в шаблон jade - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть javascript функция в node js, которая запрашивает базу данных и возвращает массив json в функцию обратного вызова. Затем эта функция обратного вызова форматирует json в чистую таблицу html и сохраняет эту информацию в переменной. Каков наилучший способ вставить эту HTML-таблицу в шаблон jade? Я хочу сделать эту HTML таблицу на странице.

function getData() {

var sql = require("mssql");
var dbConfig={
        server:"server",
        database: "db",
        user:"user",
        password: "pw"
}




        var conn = new sql.Connection(dbConfig);
        var req = new sql.Request(conn);
        conn.connect(function (err){
                if (err) {
                console.log(err);
                return;
                }


                req.query("SELECT * FROM table",resultsCallback)

                conn.close();
        });

}

function resultsCallback (err, recordset) {

        var tableify = require('tableify');

        if (err) {
                console.log(err);
        }
        else {

                var html = tableify(recordset);
                html = html.replace('<table>','');
                html = html.replace('</table>',');

        }
};

1 Ответ

0 голосов
/ 01 мая 2018

Примечание: вам не нужно изменять возвращаемое значение tableify, вам просто нужно использовать! = Вместо = посмотреть на ссылку: Визуализация HTML в переменной с использованием Jade

Во время рендеринга вашего файла Jade вы можете попробовать передать функцию в вашем маршруте примерно так:

-------- rout.js --------

router.get ( '/' , function(req,res){
    res.render(index,{
        table: getData()
    });
});

getData = function(){
    ...
}

-------- view.jade --------

!= table//rendering your table where table is of html format

! = Отобразит правильный html, а не строку

...