it-swarm.com.ru

Отображение набора данных JSON в виде таблицы с Node.js и Express

Прежде всего, я хотел бы отметить, что я очень новичок в Node.JS. Я пытаюсь использовать NodeJS, чтобы создать страницу, содержащую несколько таблиц и информацию. Моя проблема в том, что я не могу получить результат запроса SQL в таблицу HTML. В настоящее время я .send данные в HTML-страницу, используя экспресс. 

Код, который я использую:

    var http = require('http');
    http.createServer(function(req, res) {});
      var mysql = require("mysql"); 
      var express = require('express');
      var app = express();
      console.log('Creating the http server');
      con.query('SELECT id ,name FROM customer', function(err, rows, fields)
    {
        console.log('Connection result error '+err);
        console.log('num of records is '+rows.length);

        app.get('/', function (req, res) {
          res.send(rows);
        });

    });

    app.listen(3002, function () {
      console.log('Example app listening on port 3000!');
    })

Это печатает все данные из моего оператора SQL на моей HTML-странице:

{"id":"1","name":"Robert"}
{"id":"2","name":"John"}
{"id":"3","name":"Jack"}
{"id":"4","name":"Will"}

что я хотел бы получить в результате:

id              Name
1               Robert
2               John
3               Jack
4               Will
..etc 

Это вообще возможно сделать в Node JS? 

5
Rahul Sharma

Я бы порекомендовал вам посмотреть на Джейд . Это шаблонизатор для узла js, который можно использовать для создания html-страниц. Это простой в использовании и очень гибкий.

Хороший учебник найден здесь . Он показывает вам, как создать простой сайт с Node, Express и Jade, и, на мой взгляд, является хорошей отправной точкой.

Чтобы решить вашу проблему с Jade, в stackoverflow есть несколько ответов, таких как здесь .

2
Urknecht

Подобно Jade вы можете использовать Embedded JS

<table>
  <tr>
    <th>id</th><th>Name</th>
  </tr>

  <% for (var i = 0; i < data.length; i++) { %>
    <tr>
      <td><%= data[i].id %></td>
      <td><%= data[i].name %></td>
    </tr>    
  <% } %>
</table>

Это будет перебирать массив объектов (который я сохранил как data) и заполнять таблицу на основе этого.

3
Simon Legg