我在下面的 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)
帮助赞赏。
问候
在 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 键。如果用户连续多次点击回车按钮,则应该只有一个换行符。
您好,我正在尝试在 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) 我是编程的新手。我的本地数据库中有一个名为“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) 伙计们,我正在云 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) 我正在使用 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 模板引擎创建一个指向随机文件的链接。我有一个名为 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) 我的 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:
这是我的代码
请在此 输入图片说明 请在此输入图片说明 请在此处 输入图片说明
在此处输入图片描述 有人可以解决这个问题吗?
我有一个我无法弄清楚的非常奇怪的问题
尝试加载网页时出现此错误。我试图非常简单地使用页眉和页脚的部分视图。我已经尝试了各种方法,甚至开始一个新项目做 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)