【问题标题】:Node Js, javascript, mysql, what the client see/not see?Node Js、javascript、mysql,客户端看到/看不到什么?
【发布时间】:2019-05-19 01:44:23
【问题描述】:

我必须为大学项目制作一个必须在桌面浏览器和移动设备上运行的网络应用程序。我必须用 HTML/CSS/JavaScript/Node/MySQL 来做。 我现在了解 node.js 是什么,据我了解,它就像一个 apache,它在客户端请求某些内容时响应发送 HTTP 数据包。我也添加了 Node Express 并实现了 MySQL。 现在我制作了一个带有 ejs 扩展名的页面,其中包含一个 for 循环和一个从数据库中获取的变量的值。现在,我的问题是: 谁执行? (客户端或服务器) MySQL查询的结果列表/数组发送给客户端,然后由客户端根据JavaScript决定必须打印哪一行,还是服务器制作HTML页面直接发送给客户端?

这是节点服务器:

var express = require('express');
var mysql = require('mysql');
var select;
var app = express();

app.set('view engine', 'ejs');

var con = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "myPassword",
    database: "test"
  });

  con.connect(function(err) {
    if (err) throw err;
    con.query("SELECT nome FROM prova", function (err, result, fields) {
      if (err) throw err;
      select = result;
    });
  });

app.get('/count/:number', function(req, res) {
  res.render('page.ejs', {counter: req.params.number, names: select});
});

app.listen(8081);

这是我请求的页面:

<html>
    <head>
        <title>Titolo pagina web</title>
    </head>
    <body><h1>Sto per contare fino a <%= counter %></h1>

    <p><% 
        for (var i = 1; i <= counter; ++i) {
    %>

    <%= i %> ...

    <% } %></p>

    <p>Bene, ho finito. Adesso scelgo un nome a caso tra quelli che mi sono stati inviati.
        <%= names[0].nome %>
    </p>
    </body>
</html>

【问题讨论】:

    标签: javascript html css mysql node.js


    【解决方案1】:

    EJS,是一个templating engine

    .

    MySQL查询的结果列表/数组被发送到客户端,然后由客户端根据JavaScript决定必须打印哪一行或服务器制作HTML页面并直接发送给客户端?

    没有。客户端已经接收到处理后的数据,他看不到模板上设计的源代码,也看不到NodeJS源代码。 一个简单的类比是将模板视为大学申请的地方,数百名学生将收到相同的表格,您只需填写空白然后发送。阅读应用程序的人不会知道你是如何写的,你使用的铅笔,你做的时间,他们只会看到已经处理的数据。 在您的情况下,服务器将处理数据并将结果作为纯 HTML 发送。

    【讨论】:

    • 那么,它是像php页面一样的服务器端吗?
    • @davidelavalle 是的。例如,行为与 Laravel 上的 Blade 相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多