繁体   English   中英

如何将信息从node.js传递到html

[英]How to pass information from node.js to html

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

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

{名称:'xxxxxx',值:'15324点(24级)'} {名称:'yyyyyy',值:'9643点(19级)'}

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

你们都可以给我什么提示吗? 提前谢谢。

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

我想您想使用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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM