“E”代表“有效”。 EJS是一种简单的模板语言,可让您使用纯JavaScript生成HTML标记。没有关于如何组织事物的宗教信仰。没有重新发明迭代和控制流。它只是简单的JavaScript。
我使用nodejs和ejs创建了一个电子商务应用程序。我有管理页面来添加和删除产品。我如何向用户隐藏这些页面并仅显示商店页面?
Express 布局错误 - 变量未定义<%= title %>
我正在使用express-ejs-layouts,并在控制台日志中看到以下错误: >> 5| <%= title %> 标题未定义 我确实有
我有一个小小的困境,我正在尝试制作一个具有更改视图目录和node.js服务器布局的功能的网站: app.use((req, res, 下一个) => { 常量段=...
所以。我正在做一个网络课程的顶点项目。由于某种原因,每当我提交表格时,它都会向我抛出这个问题(出于隐私考虑,我编辑的所有内容都将我的真实姓名更改为“siffrin”...
我正在进行 API 调用,其结果显示在表格中。比如说,列是“isbn”、“书名”、“出版年份”。每行都会有一个“复制到剪贴板”图标,用于复制 isbn va...
为什么我无法按作者过滤 postgreSQL 数据库中的帖子? (问题已解决)
所以我有一项服务可以让用户发布书评。我自己也发过两篇。在我的数据库中,我跟踪他们在提交帖子时输入的用户名。 由于某种奇怪的原因,它会...
为什么我无法按作者过滤 postgreSQL 数据库中的帖子?
所以我有一项服务可以让用户发布书评。我自己也发过两篇。在我的数据库中,我跟踪他们在提交帖子时输入的用户名。 由于某种奇怪的原因,它会...
如何在服务器上构造一个数组,并将其作为 script.JS 文件的一部分传递给客户端
我正在尝试构建一个小型单页网络应用程序。 该应用程序具有基本的index.html script.JS 和style.CSS 文件。 body 元素(在index.html 中)设置了一个按钮和一个空的...
我正在尝试在 Chart.ejs 文件中渲染 Plotly OHLC 图并将名为 result 的变量传递给它。但是,当我尝试使用 EJS 模板将结果包含在 Chart.ejs 文件中时,plo...
你好,我正在尝试在 ejs 文件中运行 javascript 函数,这就是我的代码: <% data.forEach( function( items ) { %> 你好,我正在尝试在 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> 当我尝试在我的 ejs 文件中运行它时,我收到此错误作为返回“ 36| 37| 38| <% data.forEach(function(items){ %> 39| 40| 41| data.forEach 不是一个函数 评估时(评估于 有人知道如何解决这个问题吗? 这是我上面代码的后端: 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", price:14.90 },{ partname:"back pillow", img:"http://www.needforseatusa.com/assets/images/products/replacement%20parts/lumbar_pillow_thumbnail.jpg", price:29.90 },{ partname:"head pillow", img:"http://www.needforseatusa.com/assets/images/products/replacement%20parts/head_pillow_thumbnail.jpg", price:29.90 },{ partname:"wheel base chrome", img:"http://www.needforseatusa.com/assets/images/products/accessories/hd-base-black_thumbnail.jpg", price:79.99 },{ partname:"wheel base black", img:"http://www.needforseatusa.com/assets/images/products/accessories/hd_base_)1_thumbnail.jpg", price:79.99 },function(err,chair){ if (err){ console.log(err); } else{ console.log("newly created chair"); console.log(data); } } ); app.get("/",function(req,res){ res.render('landing'); }); app.get("/campground",function(req,res){ data.find({},function(err,data){ if(err){ console.log(err); } }); res.render("campground", {data:data}); }); 这是使用 foreach 与 ejs 的示例,我希望您检查发送回 ejs 的数据(如果它是数组)。否则请确保它是,因为 foreach 是一个数组方法。 var data = { title: 'Cleaning Supplies', supplies: ['mop', 'broom', 'duster'] }; ejs <ul> <% data.supplies.forEach(function(value) { %> <li><%= value %></li> <% }) %> </ul> // mop // broom // duster 如果您使用 Node js 从数据库获取数据,请使用 async 和 awit , 因为您将数据发送到 ejs 文件,其中没有任何值 我遇到了同样的问题,这就是我将数据发送到视图的方式。 所以在我查询数据库之后,如 db.getTasks() .then(results => res.render('view', { results: results })) .catch(err => ...) 我将结果返回到视图而不是行,results.rows返回到视图。 只需在结果中添加 ..rows 即可解决我的问题 db.getTasks() .then(results => res.render('view', { results: results.rows })) ... 我的 server.js 有以下代码: res.render('index', articles: 'articles') 当我从第二篇文章中删除字符串时,错误就消失了。顺便说一下,这些文章都在花括号中。 这是因为读取操作需要一些时间,如果不是“等待”,EJS 可能会在数据准备好之前尝试渲染模板,从而导致错误或未定义的值。 试试这个方法 async () => { const products = await Product.find() res.render('home', { user: req.user, products: products }); }
Node.js + Express.js + Ejs 项目中未定义错误
我正在基于node.js(express.js)、MYSQL和Ejs构建网站。 我试图用 d3.js 呈现图表 这是 mainpage.ejs 中脚本的一部分 <p>我正在基于node.js(express.js)、MYSQL和Ejs构建网站。</p> <p>我试图用 d3.js 呈现图表</p> <p>这是 mainpage.ejs 中脚本的一部分</p> <pre><code> <script src="https://d3js.org/d3.v6.min.js"></script> <script> const yearData = <%- JSON.stringify(yearData) %>; const yearChartWidth = 600; const yearChartHeight = 400; const margin = { top: 20, right: 20, bottom: 30, left: 40 }; const svg = d3.select('#yearChart') .append('svg') .attr('width', yearChartWidth + margin.left + margin.right) .attr('height', yearChartHeight + margin.top + margin.bottom) .append('g') .attr('transform', `translate(${margin.left}, ${margin.top})`); const xScale = d3.scaleBand() .domain(yearData.map(d => d.year)) .range([0, yearChartWidth]) .padding(0.1); const yScale = d3.scaleLinear() .domain([0, d3.max(yearData, d => d.count)]) .range([yearChartHeight, 0]); svg.selectAll('.bar') .data(yearData) .enter() .append('rect') .attr('class', 'bar') .attr('x', d => xScale(d.year)) .attr('y', d => yScale(d.count)) .attr('width', xScale.bandwidth()) .attr('height', d => yearChartHeight - yScale(d.count)) .attr('fill', 'steelblue'); svg.append('g') .attr('transform', `translate(0, ${yearChartHeight})`) .call(d3.axisBottom(xScale)); svg.append('g') .call(d3.axisLeft(yScale)); </script> </code></pre> <p>这是服务器代码的一部分,server.js</p> <pre><code>app.get('/', (req, res) => { const yearQuery = `SELECT release_year, COUNT(*) AS count FROM movies GROUP BY release_year`; let yd = []; connection.query(yearQuery, (err, yearResults) => { if (err) { console.error('Error fetching year data:', err); return res.status(500).send('Internal Server Error'); } yd = yearResults.map(row => ({ year: row.release_year, count: row.count })); res.render('mainpage', { yearData: yd, session: req.session }); }); }); </code></pre> <p>然后,我收到此错误代码:</p> <pre><code>ReferenceError: C:\Users\harry\Desktop\IWD Assignment\views\mainpage.ejs:78 76| <script> 77| >> 78| const yearData = <%- JSON.stringify(yearData) %>; 79| 80| 81| const yearChartWidth = 600; yearData is not defined at eval (eval at compile (C:\Users\harry\Desktop\IWD Assignment\node_modules\ejs\lib\ejs.js:673:12), <anonymous>:30:32) at mainpage (C:\Users\harry\Desktop\IWD Assignment\node_modules\ejs\lib\ejs.js:703:17) at tryHandleCache (C:\Users\harry\Desktop\IWD Assignment\node_modules\ejs\lib\ejs.js:274:36) at exports.renderFile [as engine] (C:\Users\harry\Desktop\IWD Assignment\node_modules\ejs\lib\ejs.js:491:10) at View.render (C:\Users\harry\Desktop\IWD Assignment\node_modules\express\lib\view.js:135:8) at tryRender (C:\Users\harry\Desktop\IWD Assignment\node_modules\express\lib\application.js:657:10) at Function.render (C:\Users\harry\Desktop\IWD Assignment\node_modules\express\lib\application.js:609:3) at ServerResponse.render (C:\Users\harry\Desktop\IWD Assignment\node_modules\express\lib\response.js:1049:7) at C:\Users\harry\Desktop\IWD Assignment\server.js:61:7 at Layer.handle [as handle_request] (C:\Users\harry\Desktop\IWD Assignment\node_modules\express\lib\router\layer.js:95:5) </code></pre> <p>我以为是变量连接错误导致的问题,但是我找不到哪里设置错了代码。</p> <p>你能找到导致错误的错误点吗?</p> <p>我以为是变量连接错误导致的问题,但是找不到哪里设置错误的代码。 (我正在修改 server.js 中的 res.render() 部分,但它仍然有相同的错误。)</p> <p>你能找到导致错误的错误点吗?</p> </question> <answer tick="false" vote="0"> <p>这似乎是您的 EJS 设置的问题。您需要将其放在 <pre><code>server.js</code></pre> 文件的顶部。</p> <p></p><div data-babel-preset-ts="false" data-lang="js" data-hide="false" data-console="true" data-babel="false" data-babel-preset-react="false"> <div> <pre><code>const path = require('path'); app.set('view engine', 'ejs'); app.set('views', path.join(__dirname, 'views'));</code></pre> </div> </div> <p></p> <p></p><div data-babel-preset-ts="false" data-lang="js" data-hide="false" data-console="true" data-babel="false" data-babel-preset-react="false"> <div> <pre><code>your-project/ ├── server.js ├── views/ │ └── mainpage.ejs ├── node_modules/ └── package.json</code></pre> </div> </div> <p></p> <p>如果执行此操作后问题仍然存在,请发帖</p> </answer> </body></html>
我正在尝试使用 ToastrJS 库显示 toast 消息。消息显示正常。问题是我没有找到传递错误消息的方法。我使用 connect-flash 来搞乱 flash...
我正在尝试使用 ToastrJS 库显示 toast 消息。消息显示正常。问题是我没有找到传递错误消息的方法。我使用 connect-flash 来搞乱 flash...
请我想使用nodejs和express将图像从我的客户端上传并保存到我的mongodb,但我确实得到了错误的响应。如果我的方法不正确,请指出正确的方向。 下面...
准备脚本在 JavaScript 编译器中编译(Google Closure)
我在很多地方都写了代码。出于性能和语法检查的原因,我想重构代码以便能够使用 JavaScript 编译器。准备代码的建议是什么
我在我的项目中使用express和ejs视图引擎,我想在我的代码中实现tailwind css以获得更好的样式,但是tailwind样式要么没有完全应用,要么没有全部应用......
如果我在express中指定了app.engine,我还需要app.set视图引擎吗?
我现在正在学习 Node.js 和模板主题。首先,我仅使用 EJS 并配置了 app.set('view engine', 'ejs') 使其正常工作。接下来创建布局我安装了 ejs-mate 和 adde...
我正在开发一个使用嵌入式 JS 的项目,当我尝试加载属性时,它显示错误“预期属性值”。代码运行得很好,但是总是出现错误...
我正在使用 Express 制作一个小型 Node Web 应用程序。但如果我的 ejs 文件包含 else 语句,我会收到错误。如果还不清楚,这里有一个 MWE: 页面/test.ejs: ...
node.js ejs 模板,其数据表不将变量传递给 if 语句
大家晚上好,我知道这是使用较旧的堆栈;然而,在转向具有更多功能的不同堆栈之前,这是我让某些东西正常工作的起点。 我有一个 Node.JS 应用程序...