Как передать информацию из node.js в html - PullRequest
1 голос
/ 18 мая 2019

Я создаю веб-сайт на HTML, и у меня также запущен процесс node.js, который будет извлекать данные из пакета npm с именем better-sqlite3. Я хочу взять эти данные и показать их на моем сайте.

Я не совсем уверен, как поступить с передачей данных. Я знаю, как раскрутить сервер через модуль http, но я не знаю, как заставить его отправлять данные на сайт. Я хочу эти данные -

{name: 'xxxxxx', значение: '15324 баллов (уровень 24)'} {имя: 'гггггг', значение: '9643 балла (уровень 19)'}

Отображается на сайте и, надеюсь, подойдет для моего дизайна.

Какие-нибудь советы вы мне можете дать? Спасибо заранее.

Ответы [ 2 ]

1 голос
/ 18 мая 2019

Полагаю, вы хотите использовать AJAX для получения всех необходимых вам данных.Это твой сервер.(Я использую экспресс, но вы можете сделать это без него)

var express = require("express");
var app = express();

//Just a setting for enable CORS (Cross-origin resource sharing )
app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

//creating your object
var obj = { 
    name: 'xxxxxx', 
    value: '15324 points (level 24)'
}

//sending your object
app.get("/obj", function(req, res){
    res.json(obj);
});

app.listen("3002", function(){
    console.log("Server is Running");
});

А это ваш HTML-файл с запросом AJAX:

<!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
        <div id="objPanel"></div>
        <script type="text/javascript">
          var xhttp = new XMLHttpRequest();
          xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
              document.getElementById("objPanel").innerHTML = this.responseText;
            }
          };
          xhttp.open("GET", "http://localhost:3002/obj", true);
          xhttp.send();
        </script>

    </body>
    </html>
1 голос
/ 18 мая 2019

Вы не можете сделать это напрямую в HTML (в основном это используется для макета веб-страницы), вам также необходим Javascript на стороне клиента, который подключается к серверу, написанному на NodeJ. Связь осуществляется по протоколу http. Сервер предоставляет RestApi и возвращает указанный вами объект в браузер, где он отображается.

...