标签: ejs

将 CSS 添加到 EJS

使用 EJS 时链接 css 文件时遇到困难。已经研究过其他答案,但无法弄清楚这是我用作 css 文件参考的代码。

埃杰斯

    <html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="index.css">
    <title></title>
  </head>
  <body>
    <header>
      <% include header %>
    </header>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

css 文件与 ejs 文件位于同一目录(views 目录)中。这会导致任何问题吗?标头只是另一个带有一些静态 html 的 ejs 文件。

服务器:

const express = require("express");
const path = require('path');
const app = express();

app.set("views", path.resolve(__dirname, "views"));
app.set("view engine", "ejs");


app.use(express.static(__dirname + 'public'));

app.get('/', (req, res) => {
  res.render("index");
})

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

我最终想将我的 css 文件移动到另一个文件夹中,但我真的想知道为什么这不起作用。由于这些文件位于同一文件夹中,我希望相对路径<link rel="stylesheet" href="index.css">能够工作。

javascript ejs node.js express

1
推荐指数
1
解决办法
7189
查看次数

从节点js调用存储过程

我正在使用 Express,并尝试从 Azure 门户调用 LoginMember 存储过程。这是我的表格,取自 ejs:

\n\n
<form method="post" action="/available-copies">\n      <input type="text" placeholder="SSN" name="userssn">\n      <input type="password" placeholder="Password" name="userpassword">\n      <input type="submit" value="Login">\n</form>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的帖子请求

\n\n
router.post(\'/available-copies\', function (req, res) {\n    var ssn = req.body.userssn;\n    var password = req.body.userpassword;\n\n    sql.connect(sqlConfig, function (err) {\n        if (err) console.log(err);\n        // create Request object\n        var request = new sql.Request();\n        // query to the database and execute procedure\n        request.query("exec LoginMember @SSN=\'"+ssn+"\', @PASSWORD=\'"+password+"\';", function (err, recordset) {\n            if (err) console.log(err);\n\n            res.send(recordset);\n        });\n    });\n    sql.close()\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

SqlConfig 来自另一个文件,这部分没问题。以防万一,这是我的存储过程创建代码: …

sql-server stored-procedures ejs node.js express

1
推荐指数
1
解决办法
4万
查看次数

如何使用ejs和node制作模态框

我正在尝试学习一些 ejs 和 node,我知道我可以轻松地创建一个仅使用 JS 和 HTML 的弹出模式,就像这样,当我单击某个按钮时调用一个函数

调用函数的按钮:

<button id="myBtn">Open Modal</button>
Run Code Online (Sandbox Code Playgroud)

功能:

btn.onclick = function() {
   modal.style.display = "block";
}
Run Code Online (Sandbox Code Playgroud)

但是我如何使用 Ejs 和 NodeJs 来做到这一点呢?

html javascript ejs node.js

1
推荐指数
1
解决办法
6796
查看次数

操作 users.findOne() 缓冲在 10000 毫秒后超时

我正在尝试检查用户是否在我的 mongodb 数据库中,但我不断收到错误:Operation users.findOne()buffering timed out after 10000ms。我尝试了很多事情,但似乎无法让它发挥作用。请帮忙。

服务器.js

const express = require('express');
const app = express();
const dotenv = require('dotenv').config();
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const path = require('path');
const cookieParser = require("cookie-parser");

const indexRoute = require('./routes/index');
const authRoute = require('./routes/auth');

mongoose.connect(process.env.DB_CONNECT, { useNewUrlParser: true }, () => {
    console.log('Connected to MongoDB');
});

app.use(express.json());
app.use(cookieParser());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static(__dirname + '/views'));
app.use(express.static('Public'));
app.set('view engine', 'ejs');
app.set("views", path.join(__dirname, "views"));
app.disable('x-powered-by');

app.use('/', indexRoute);
app.use('/auth', …
Run Code Online (Sandbox Code Playgroud)

javascript ejs mongodb node.js express

1
推荐指数
1
解决办法
6824
查看次数

在单个Backbone视图和EJS模板中使用多个模型的问题

我试图在单个视图中使用两个模型,因此模板但在尝试此问题中显示的示例后:Backbone.js:组合多个模型的复杂视图我遇到了一些错误.

首先,如果我尝试使用视图模型将两个模型组合如下:

var model = new Backbone.Model();
model.set({ image: image, person: person });
var view = new Project.Views.Images.ShowView({ model: model });
Run Code Online (Sandbox Code Playgroud)

我无法访问模板中的任何内容,每个字段都是空的,或者某些字段是函数的字符串表示形式.这是我的模板:

<img width="<%= image.width %>" height="<%= image.height %>" alt="<%= image.message %>" src="<%= image.url %>" />
<p><%= image.message %></p>
<h4>by <%= person.name %></h4>
Run Code Online (Sandbox Code Playgroud)

这是模板生成的输出:

<img width="" height="" alt="" src="function () {
  var base = getUrl(this.collection) || this.urlRoot || urlError();
  if (this.isNew()) return base;
  return base + (base.charAt(base.length - 1) == '/' ? '' : '/') + encodeURIComponent(this.id);
}"> …
Run Code Online (Sandbox Code Playgroud)

javascript ejs backbone.js

0
推荐指数
1
解决办法
3040
查看次数

NodeJS + JSON + jQuery:将JSON-object表单Node-backend发送到jQuery-frontend

我正在尝试将JSON-object形式的MongoDB发送到带有ejs模板引擎的页面.这是我的DB(一个JSON对象)的响应:

"suppliers": [
    {
        "lastname": "lastname1",
        "firstname": "firstname1",
        "middlename": "middlename1",
        "mobtel": "mobtel1",
        "worktel": "worktel1",
        "email": "email1"
    },
    {
        "lastname": "lastname2",
        "firstname": "firstname2",
        "middlename": "middlename2",
        "mobtel": "mobtel2",
        "worktel": "worktel2",
        "email": "email2"
    }
]
Run Code Online (Sandbox Code Playgroud)

当我从数据库中获取对象时,我必须将其字符串化为str以作为EJS模板引擎的var发送:

var myJSONText = JSON.stringify(doc.suppliers);
profile["suppliers"] =myJSONText;
...
res.render('profile.ejs',{profile:profile});
Run Code Online (Sandbox Code Playgroud)

在前端,我得到一个带有json数据的普通字符串.我通过jQuery解析它到一个对象:

var jsonObject = jQuery.parseJSON('<%= profile.suppliers %>');
for (var i=0; i<jsonObject.length; i++){
    //trying to show field 'name' for every supplier
    alert(jsonObject[i]['lastname']);
}
Run Code Online (Sandbox Code Playgroud)

......它不起作用,但应该提醒我两次.我试图检查一个纯文本的JSON字符串,来到前端,并找到了这样的符号:

[{&quot;lastname&quot;: &quot; ... 
Run Code Online (Sandbox Code Playgroud)

似乎jQuery.parseJSON无法从此类字符串创建有效对象.我做错了什么?谢谢!

更新:嗯,我已将我的代码转换为:

NodeJS代码:

profile["suppliers"] =doc.suppliers;
res.render('profile.ejs', { profile:profile });
Run Code Online (Sandbox Code Playgroud)

jQuery代码:

for …
Run Code Online (Sandbox Code Playgroud)

jquery post json ejs node.js

0
推荐指数
1
解决办法
6528
查看次数

使用ejs渲染布局

我不能用ejs渲染布局,表达:

app.configure(function () {
    app.use(express.static(__dirname + '/public'));
    app.use(express.basicAuth('username', 'password'));
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
});
Run Code Online (Sandbox Code Playgroud)

layout.ejs位于/ views文件夹中.我渲染/views/home/index.ejs但它不是布局:

res.render('home/index');
Run Code Online (Sandbox Code Playgroud)

layout.ejs:

<html>
  <head>
    <title></title>
      <script type="text/javascript" src="/content/scripts/jquery-1.6.2.min.js"></script>
      <script type="text/javascript" src="/content/scripts/jquery-ui-1.8.11.min.js"></script>
      <script type="text/javascript" src="/content/scripts/jquery.unobtrusive-ajax.min.js"></script>
      <script type="text/javascript" src="/content/scripts/jquery.validate.min.js"></script>
      <script type="text/javascript" src="/content/scripts/jquery.validate.unobtrusive.min.js"></script>
      <script type="text/javascript" src="/socket.io/socket.io.js"></script>
      <link rel="stylesheet" type="text/css" href="/content/styles/site.css" />
      <link rel="stylesheet" type="text/css" href="/content/styles/themes/base/jquery.ui.all.css"/>
  </head>
  <body>
      <%- body %>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

ejs node.js express

0
推荐指数
2
解决办法
2万
查看次数

用于ejs格式化的Sublime Text 2包

我正在寻找一个具有自动格式化ejs文件功能的包.我已经安装了HTMLPrettify.是否可以将ejs添加为html格式,以便将其格式化为html代码?这对我来说已经足够了.

format ejs sublimetext2

0
推荐指数
1
解决办法
3058
查看次数

如何在req.body中使用变量-Node.js

我想做的是从表单获取数据,但是表单是动态生成的,所以我不知道会有多少行。所以对于我拥有的表单(使用ejs)

<form action="/attendance-data" method="post">
     <% var i=0 %>
<% rows.forEach(function(item){ %>
       <% i=i+1 %>
     <tr>
          <td><%= i+"." %></td>
        <td id="uan<%= i %>"> <%= item.uan  %> </td>
        <td><%= item.name %></td>
        <td><%= item.designation %></td>
        <td><input type="text" name="attendance<%= i %>" ></td>
     </tr>
    <% });   %>
     <input type="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

在这里,我从1更改为10或任何数据长度。因此,示例表单名称来自Attenance1,Attenance2,Attenance3,.....

在服务器端,我正在使用

app.post('/attendance-data',function(req,res){
    var  daysPresent;
    var attendance;
    for(var i=1;i<=numberOfEmployees;i++){

        attendance = "attendance"+i;
        daysPresent = req.body.attendance;
        console.log('attendance is :',attendance);
        console.log('days present is :',daysPresent);
    }

});
Run Code Online (Sandbox Code Playgroud)

在这里,我想从表单中获取每个循环的当前天数。因此,第一个循环获取req.body.attendance1,第二个获取req.body.attendance2,依此类推,但是当我直接使用变量Attenance而不是Attenance1和Attenance2时,结果就变得不确定。

当我直接使用req.body.attendance1或req.body.attendance2或类似的东西时,我只会得到结果。

为什么会这样呢?为什么我不能使用出勤变量,该变量从Attenance1,Attenance2 ......获取所有值

javascript ejs node.js express

0
推荐指数
1
解决办法
1874
查看次数

ChartJS的EJS标签?

可以使用EJS标签将数据添加到图形吗?这是我当前图形的数据:

var canvas = document.getElementById('myChart');
var data = {
    labels: ["One", "February", "March", "April", "May", "June", "July"],
    datasets: [
        {
            label: "My First dataset",
            backgroundColor: "rgba(255,99,132,0.2)",
            borderColor: "rgba(255,99,132,1)",
            borderWidth: 2,
            hoverBackgroundColor: "rgba(255,99,132,0.4)",
            hoverBorderColor: "rgba(255,99,132,1)",
            data: [10, 20, 81, 56, 55, 40],
        }
    ]
};
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

labels: ["<%= currentUser.datapoint1 %>", "<%= currentUser.datapoint2 %>", "<%= currentUser.datapoint3 %>"]

data: [<%= currentUser.datapoint10 %>, <%= currentUser.datapoint11 %>]
Run Code Online (Sandbox Code Playgroud)

如何使用EJS标签填充图形数据?(注意:在需要生成图表之前,EJS标记信息将已经保存到用户中)

ejs mongodb node.js express chart.js

0
推荐指数
1
解决办法
1819
查看次数