【问题标题】:How to generate part of html code on server side (nodejs)? [closed]如何在服务器端(nodejs)生成部分html代码? [关闭]
【发布时间】:2017-01-13 16:33:10
【问题描述】:

我正在使用 D3 开发一个用于数据可视化的单页应用程序。事实上,我有很多数据要从我的服务器(即 Express)传输到我的客户端(json 中的几个 Mo)。

我想测试一些东西,但如果可以做到的话我不做:我想在我的服务器上动态生成一些 html 代码(例如 div 的内容)并能够将其发送到客户。

这可以做到吗?如果可以,怎么做?

【问题讨论】:

    标签: javascript html node.js express d3.js


    【解决方案1】:

    如果你想用 GET 生成:

    app.get('/', function (req, res) {
      var html = "<h1>Hello world</h1";
      res.send(html)
    });
    

    【讨论】:

    • 我不确定这是否能胜任...假设我按照您的建议进行操作,那么我如何在客户端检索它,最重要的是如何将它插入我的现有的html代码?
    【解决方案2】:

    离开 Jean 的回答,如果您将服务器设置为响应 GET 请求,就像他在这段代码中显示的那样:

    app.get('/', function (req, res) {
      var html = "<h1>Hello world</h1";
      res.send(html)
    });
    

    然后,您将使用 javascript 将请求从客户端发送到服务器 URL,如 this answer 中的 httpGetAsync 函数所示。

    然后回调将接收来自您的服务器的响应,并且您可以通过使用 javascript 或 D3 访问您的 DOM 元素(如果您已经在使用它)将响应中生成的内容插入到现有的 html 代码中。

    【讨论】:

    • (抱歉回答迟了...)哦,你可能是对的,比如 d3.html(response) !一切都简单!我去试试,谢谢。
    • 没错,'d3.select('#test').html(response)' 会将 id='test' 的页面元素的内部 html 设置为响应文本。
    猜你喜欢
    • 2016-08-22
    • 2016-02-10
    • 2023-03-07
    • 2014-02-05
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 2014-06-03
    • 2014-12-16
    相关资源
    最近更新 更多