标签: ejs

在 EJS 中循环 JSON

我在下面的 EJS 中有代码,

<table>
<% for(var i=0; i < data.length; i++) { %>
<tr>
 <td><%= data[i].id %></td>
 <td><%= data[i].name %></td>
 </tr>
 <% } %>
</table>
Run Code Online (Sandbox Code Playgroud)

我的数据是这样的:

[{"id":1,"name":"bob",description:[{"name":"carol","url":"www.hp.com"},{"name":"katy","url":"www.desktop.com"}]},{"id":2,"name":"john"description:[{"name":"raya","url":"www.usus.com"},{"name":"fat","url":"www.mia.com"}]}]"
Run Code Online (Sandbox Code Playgroud)

我可以操纵该行来填充 JS => id 和 name 中的表,但我无法对描述执行此操作: name , url

这将输出下表(使用上面的示例数据):

<table>
 <tr>
<td>1</td>
<td>bob</td>
<td>name</td>
<td>url</td>
</tr>
<tr>
<td>2</td>
<td>john</td>
</tr>
<tr>
<td>3</td>
<td>jake</td>
<td>name</td>
<td>url</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

帮助赞赏。

问候

html ejs node.js

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

当数据库中有 \n 时,在浏览器中显示新行 &lt;br&gt;

在 mongo 中,我有一个带有类似reviewText: 'this is line 1\nthis is line 2',. 我从 a 那里得到了这个textarea\n因为用户按下了 Enter 键。我想在屏幕上打印带有换行符的div中的文本(如果他点击了很多输入,最好只有一个换行符)我不知道该怎么做,因为我没有在屏幕上看到任何\ns

<div class = "displayReview"><%= e.reviewText %></div>在 EJS 中做的只是将其全部打印在 oneline 上。它让我<div class="displayReview">this is line 1 this is line 2</div>进入浏览器。

我的路线中有一个地方可以更新文档,例如:

    .then(function(returnedReviews){
        console.log(" returnedReview ",returnedReviews);
        returnedReviews.forEach(function(e){
            e.momented = moment(e.createdAt.getTime()).fromNow()
            // e.reviewText = e.reviewText.replace(/\r?\n/g, '<br />')
        })
Run Code Online (Sandbox Code Playgroud)

我尝试做评论中的事情。但显然只是将<br />(文本)放入字符串中,而不是 HTML 中。我希望有一种简单的方法可以做到这一点。

我希望在将其打印到屏幕上时看到换行符,用户在textarea发送表单之前按 Enter 键。如果用户连续多次点击回车按钮,则应该只有一个换行符。

html javascript ejs mongodb express

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

嵌套 EJS 标签。不工作

只是一个简单的问题,但我在谷歌上找不到任何内容。

所以在这里,

为什么这不起作用?

在第一行,最后一个'%>'变成白色在此输入图像描述

这是来自我的 NodeJS js 文件。当我渲染“loginuserprofile”时,我将 userProfile 变量传递给 EJS 这是来自我的 NodeJS js 文件 我会得到一个错误

错误:找不到“<%”的匹配关闭标记。

我不能使用嵌套的 <% %>?

谢谢你!

javascript ejs node.js web

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

ejs 的问题(data.forEach 不是函数)!

您好,我正在尝试在 ejs 文件中运行一个 javascript 函数,这就是我的代码的样子:

<div class='row'>

<% data.forEach( function( items ) {  %>

    <div class='col-md-4 col-sm-6'>
        <div class="thumbnail">
        <img src="<%= items.img %>" width="350" height="130"></img>    

         <div class="caption">
            <h4><%= items.partname %></h4>
        </div>
        </div>



    </div>

<% }); %>

</div>
Run Code Online (Sandbox Code Playgroud)

当我尝试在我的 ejs 文件中运行它时,我收到此错误作为返回“36| 37|

38| <% data.forEach(function(items){ %> 39|
40| 41|

data.forEach 不是 eval 的函数(eval at

有谁知道如何解决这一问题?

这是我上面代码的后端:

app.use(bodyParser.urlencoded({extended: true}));
  app.set("view engine","ejs");

var chairSchema=new mongoose.Schema({
    partname:String,
    img:String,
    price:Number
});

var data =mongoose.model("data",chairSchema);

data.create(
{
  partname:"short cylinder",
  img:"http://www.needforseatusa.com/assets/images/products/replacement%20parts/short_cylinder_thumbnail.jpg",
  price:14.90
},
{
  partname:"regular cylinder",
  img:"http://www.needforseatusa.com/assets/images/products/replacement%20parts/cylinder_thumbnail.jpg", …
Run Code Online (Sandbox Code Playgroud)

javascript foreach ejs

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

使用 Mongoose 在 ejs 中显示来自 Mongodb 集合的数据

我是编程的新手。我的本地数据库中有一个名为“Practice”的集合,其中包含“名称、角色、组织”。我想弄清楚如何使用猫鼬在 .ejs 文件中打印此信息。

在我的 server.js 中,我有

require('./app/routes.js')(app, passport);     
mongoose.connect(configDB.url); // connect to our database
    var schema = mongoose.Schema;
    mongoose.model('practice', new schema({ Name: String, Role: String, Org: String}),'practice');
    var practice = mongoose.model('practice');
    practice.find({}, function(err, data) { console.log(err, data); });
Run Code Online (Sandbox Code Playgroud)

在路线中,

app.get('/profileface', isLoggedIn, function(req, res) {
        res.render('profileface.ejs', {
            user : req.user
        });
    });
Run Code Online (Sandbox Code Playgroud)

在视图文件夹中的文件 profileface.ejs 中,我有以下内容可以打印我的“练习”集合中的名称。

<%= practice.name %>
Run Code Online (Sandbox Code Playgroud)

虽然它在控制台中打印,但当我尝试访问 profileface.ejs 时,出现以下错误。

ReferenceError: C:\Users\SEESCHU\Desktop\Linneus university\Assignments\302\Assignment 2\code\Test3\views\profileface.ejs:36 34| </div> 35| >> 36| <%= practice.name %> 37| 38| <!-- <div class="text-center"> 39| <p>Assignment for …
Run Code Online (Sandbox Code Playgroud)

ejs mongoose mongodb node.js

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

在 ejs 文件中包含页眉和页脚不起作用

伙计们,我正在云 9 中开发节点/express 应用程序。https://webdevcamp-miatech.c9users.io/但是,我的 home.ejs 文件中的包含文件不起作用。我有一个 header.ejs 和 footer.ejs,我将它们包含在我的 home.ejs 文件中。但是当我去调用默认路由“/”home 时。它给了我。这是 c9.io 上的应用程序https://ide.c9.io/miatech/webdevcamp 此错误消息。

Error: Could not find include include file.
    at getIncludePath (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:152:13)
    at includeSource (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:276:17)
    at /home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:629:26
    at Array.forEach (native)
    at Object.generateSource (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:605:15)
    at Object.compile (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:509:12)
    at Object.compile (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:358:16)
    at handleCache (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:201:18)
    at tryHandleCache (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:223:14)
    at View.exports.renderFile [as engine] (/home/ubuntu/workspace/EJSDemo/node_modules/ejs/lib/ejs.js:437:10)
Run Code Online (Sandbox Code Playgroud)

如果我从 home.ejs 中删除页脚和页眉的包含,它会得到修复。所以它必须是我包含它的方式或路径。如果有人可以帮忙。感谢 home.ejs

<% include ./partials/header %>
<h1>Hello World</h1>
<img src="http://lorempixel.com/400/200/">
<% include ./partials/footer %>
Run Code Online (Sandbox Code Playgroud)

头文件.ejs

<!DOCTYPE html>
<html>
<head>
    <title>EJSDemo</title>
    <link rel="stylesheet" …
Run Code Online (Sandbox Code Playgroud)

include ejs node.js express

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

NodeJS 和 EJS POST

我正在使用 NodeJS/Express 和 EJS 创建一个表单到 API 路由。当我尝试 POST 请求并调用 req.body.password & req.body.confirm 时,我得到“未定义”。

索引.js

import http from 'http';
import express from 'express';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import passport from 'passport';
const LocalStrategy = require('passport-local').Strategy;
var flash = require('connect-flash');

import config from './config';
import routes from './routes';

let app = express();
app.server = http.createServer(app);

//middleware
app.use(bodyParser.json({
  limit: config.bodyLimit
}));

//EJS VIEWS CODE
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(flash());
Run Code Online (Sandbox Code Playgroud)

我的控制器的一部分,带进口

import mongoose from 'mongoose';
import { …
Run Code Online (Sandbox Code Playgroud)

ejs node.js express

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

如何使用 ejs 连接 html 属性中的字符串?

我正在尝试使用 ejs 模板引擎创建一个指向随机文件的链接。我有一个名为 randomProject 的 javascript 字符串变量,它位于名为“case”的文件中。但是,我不知道如何将这两个字符串连接在一起。

我曾尝试使用“加号”符号,<a href=<% "/case/" + randomProject%>>但没有奏效。

index.ejs(在我想做一个随机链接之前)

<a href='/case/portfolio-website'>
    <h2>Portfolio Website</h2>
</a>

Run Code Online (Sandbox Code Playgroud)

index.ejs(在我想做一个随机链接之后,现在不起作用)

<a href=<% "/case/" + randomProject%>>
<h2><%= randomProject %></h2>
</a>
Run Code Online (Sandbox Code Playgroud)

主文件

const projects = ['gochiso','junction','portfolio-website','tedx-flyer','tedx-website','thirty-logo-challenge']
const randomNum = Math.floor(Math.random() * projects.length);
const randomProject = projects[randomNum]
Run Code Online (Sandbox Code Playgroud)

目录

case
  gochiso.ejs
  portfolio-website.ejs
  thirty-logo-challenge.ejs
  junction.ejs
  tedx-website.ejs
Run Code Online (Sandbox Code Playgroud)

html ejs node.js

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

语法错误:编译 ejs 时出现意外的 token.ejs

我的 ejs 文件路径不起作用。

SyntaxError: Unexpected token '/' in C:\Users\mikda\Desktop\ColtFULL\Section33\YelpCamp\v3\views\landing.ejs 编译 ejs 时

如果上述错误没有帮助,您可能想尝试 EJS-Lint:https : //github.com/RyanZim/EJS-Lint或者,如果您打算创建一个异步函数,请通过async: true作为一种选择。在新函数 () at Template.compile (C:\Users\mikda\Desktop\ColtFULL\Section33\YelpCamp\v3\node_modules\ejs\lib\ejs.js:626:12) 在 Object.compile (C:\Users \mikda\Desktop\ColtFULL\Section33\YelpCamp\v3\node_modules\ejs\lib\ejs.js:366:16) 在 handleCache (C:\Users\mikda\Desktop\ColtFULL\Section33\YelpCamp\v3\node_modules\ejs \lib\ejs.js:215:18) 在 tryHandleCache (C:\Users\mikda\Desktop\ColtFULL\Section33\YelpCamp\v3\node_modules\ejs\lib\ejs.js:254:16) 在 View.exports。 renderFile [作为引擎] (C:\Users\mikda\Desktop\ColtFULL\Section33\YelpCamp\v3\node_modules\ejs\lib\ejs.js:459:10) 在 View.render (C:\Users\mikda\Desktop \ColtFULL\Section33\YelpCamp\v3\node_modules\express\lib\view.js:135:8) 在 tryRender (C:

这是我的代码

这是我的文件夹结构

请在此 输入图片说明 请在此输入图片说明 请在此处 输入图片说明

在此处输入图片描述 有人可以解决这个问题吗?

javascript ejs node.js express

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

包含部分的 nodejs/ejs 语法错误

我有一个我无法弄清楚的非常奇怪的问题

尝试加载网页时出现此错误。我试图非常简单地使用页眉和页脚的部分视图。我已经尝试了各种方法,甚至开始一个新项目做 npm init, npm install express ejs

SyntaxError: missing ) after argument list in layout.ejs while compiling ejs

If the above error is not helpful, you may want to try EJS-Lint:
https://github.com/RyanZim/EJS-Lint
Or, if you meant to create an async function, pass `async: true` as an option.
at new Function (<anonymous>)
at Template.compile (\node_modules\ejs\lib\ejs.js:626:12)
at Object.compile (\node_modules\ejs\lib\ejs.js:366:16)
at handleCache (\node_modules\ejs\lib\ejs.js:215:18)
at tryHandleCache (\node_modules\ejs\lib\ejs.js:254:16)
at View.exports.renderFile [as engine] (\node_modules\ejs\lib\ejs.js:459:10)
at View.render (\node_modules\express\lib\view.js:135:8)
at tryRender (\node_modules\express\lib\application.js:640:10)
at Function.render (\node_modules\express\lib\application.js:592:3)
at ServerResponse.render …
Run Code Online (Sandbox Code Playgroud)

javascript ejs node.js express node-modules

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

标签 统计

ejs ×10

node.js ×8

express ×5

javascript ×5

html ×3

mongodb ×2

foreach ×1

include ×1

mongoose ×1

node-modules ×1

web ×1