1

我正在用 HTML 构建一个网站,并且我还运行了一个 node.js 进程,它将从名为better-sqlite3. 我想获取这些数据,并将其显示在我的网站上。

我不确定如何将数据推送过来。我知道如何通过http模块启动服务器,但我不知道如何使其将数据推送到站点。我想要这个数据-

{ name: 'xxxxxx', value: '15324 points (level 24)' } { name: 'yyyyyy', value: '9643 points (level 19)' }

显示在网站上,希望适合我的设计。

大家有什么建议可以给我吗?提前谢谢。

4

2 回答 2

1

我猜你想使用 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");
});

这是带有 AJAX 请求的 HTML 文件:

<!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>
于 2019-05-17T23:36:15.453 回答
1

您不能直接在 HTML 中执行此操作(它主要用于网页布局),您还需要一些客户端 Javascript 以连接到用 NodeJs 编写的服务器。通信是通过http协议完成的。服务器公开一个 RestApi 并将您指定的对象返回给呈现它的浏览器。

于 2019-05-17T23:06:59.823 回答