Tag: ejs

ExpressJS ejs,得到HTTP 500错误

我有下面的代码,但我得到HTTP 500错误,并且页面被redirect到error.ejs。 但是,console.log(正文)工作正常。 这个问题正在res.render中看到。 我无法看到在控制台中的任何错误(也试图设置env =开发) var express = require('express'); var router = express.Router(); var request = require('request'); /* GET home page. */ router.get('/', function(req, res, next) { // Set the headers var headers = { 'Subscription-Key': 'XXXXXXXX', 'Content-Type': 'application/x-www-form-urlencoded' } // Configure the request var options = { url: 'http://External_Web_Service_REST_URL', method: 'GET', headers: headers […]

嵌套的EJS标签。 不工作

只是一个简单的问题,但我无法find它在谷歌上的任何东西。 所以在这里, 为什么这不起作用? 在第一行,最后一个'%>'变成白色 这是来自我的NodeJS js文件。 当我呈现“loginuserprofile”我把userProfilevariables传递给EJS 我会得到一个错误 错误:找不到匹配的“<%”的closures标记。 我不能使用嵌套的<%%>? 谢谢!

EJS条件语句更改CSS

我在EJS循环,我想根据我的数据设置CSS: <% dummies.forEach(function(dummy) { %> <div class="panel panel-???"> </div> <% }) %> 我的资料: var dummies = [{ type: "funny", sure: "Yes" // this should generate panel-success }, { type: "funny", // this should generate panel-a sure: "No" }, { type: "happy", // this should generate panel-b sure: "No", }]; 所以只要sure属性是Yes ,它就会生成panel-success 。 否则,它会根据type属性生成CSS。 请帮忙。

css不使用express .ejs nodejs加载属性

各位晚上好, 我将不胜感激任何帮助。 我得到了这两条路线: app.get('/', function(req,res){ res.render('index'); }); app.get('/registration/add', function(req,res){ res.render('clientRegistration'); }); 这是服务器的一部分: app.use( express.static(path.join( __dirname, './client/static/'))); app.use(body_parser.urlencoded()); app.set( "views", path.join(__dirname, "./client/views/")); app.set( "view engine", 'ejs'); 目录是: MyApp/ client/ static/ registration.css styles.css views/ index.ejs clientRegistration.ejs 在我的index.ejs中,我有:link rel =“stylesheet”type =“text / css”href =“styles.css”,它完美地加载了.css文件。 但是,当我点击index.ejs链接:a href =“/ registration / add”>,它将我带到clientRegistration.ejs页面,但registration.css不加载,即使我有:link rel =“stylesheet” type =“text / css”href =“registration.css” 我究竟做错了什么? […]

使用Expressredirect和渲染

当我打我的API,我想redirect我的url从https://myapp.herokuapp.com/token/aaa.bbb.ccc到https://myapp.herokuapp.com/messages/:id 。 我也想渲染我的message视图 码: app.get('/token/:id' , (req, res) => { var decoded = jwt.verify(req.params.id, 'blabla'); Message.findById(decoded.messageId, (err, message) => { if (err) res.json({error: err}) res.render('message', {message}) }) }) 在这里,我成功地呈现了我的message视图,但下面的API的URL仍然是https://myapp.herokuapp.com/token/aaa.bbb.ccc而不是https://myapp.herokuapp.com/messages/:id 另一个尝试: app.get('/token/:id' , (req, res) => { var decoded = jwt.verify(req.params.id, 'blabla'); Message.findById(decoded.messageId, (err, message) => { if (err) res.json({error: err}) res.redirect('/messages/'+message._id) }) }) 现在,该URL是https://myapp.herokuapp.com/messages/:id但message视图不会呈现。 呈现JSON以显示消息 […]

使用express和EJS导航

有一个问题搞清楚如何有效地浏览EJS页面: 文件目录: 我想从我的index.ejs页面转到about.ejs页面。 这是我的index.ejs页面的代码,目前没有正确导航: index.ejs: <!DOCTYPE html> <html> <head> <title></title> </head> <body> <h1> <a href="about.ejs"> This is a link to about page</a></h1> </body> </html> app.js服务器: const express = require("express"); const path = require('path'); const app = express(); app.set("views", path.resolve(__dirname, "views")); app.set("view engine", "ejs") app.get("/", (req, res) => { res.render("index") }); app.use(express.static('public')); app.listen(3000); 我可以在href中input什么来正确引用dynamic的about.ejs文件? 我已经知道我可以从我的公共文件夹引用静态文件,但我想引用dynamicejs文件夹。 如果不可能的话,任何提供相同function的解决scheme也都可以。

如何在ejs / express的全局variables中使用函数?

var app = express(); app.locals.current_time = utils.current_time(); 我可以为模板中的每个请求更改此variables的variablescurrent_time吗? 这个例子中的app.locals.current_time是常量,但我想使用函数。

渲染时发送给EJS的空参数

林相当新Nodejs,我一直在努力解决这个问题,到目前为止,我不能find问题。 在我的应用程序的某个时候,我用一些参数来渲染一个EJS模板,但是看起来即使获得了参数,它们也是空的。 我testing了最基本的情况: console.log(req.user); res.render('menu.ejs', { user: String(req.user.username) }); 控制台输出: { id: 1, username: 'bob', password: 'secret', email: 'bob@example.com' } 所以我没有发送一个空值。 menu.ejs代码如下: <html> <body> <% user %> </body> </html> 真的很简单。 但是,当页面呈现,我所得到的是一个空的网页…即使有一个和更多的HTML,我只是不断获取和空的价值… 在我的应用程序的某个时候,我用护照来validation我的用户,并使用闪光,我设法得到一个消息: res.render('login.ejs', { message: req.flash('message') }); 但是,这仍然留下我的menu.ejs错误。 我重命名文件,重命名parameter passing,添加更多的参数,harcoded通过参数的值…我总是得到相同的结果=( 项目依赖: "dependencies": { "express": "~4.9.x", "express-session": "1.9.3", "mysql ": "2.5.3", "body-parser": "1.10.0", "passport": "0.2.1", "passport-local": […]

无法使用ejs模板显示Flash消息

我是NodeJS的新手。 我有一个问题,我无法显示在我看来的Flash消息。 这是我的控制器, index : function(req, res){ res.locals.flash = _.clone(req.session.flash); res.locals.layout = false; res.view('login'); }, login : function(req, res){ …. if(!admin){ req.session.flash = { err : 'User is not found.' // My flash message } res.locals.layout = false; res.redirect('login'); return; } ….. } 这是我的看法, <% if(flash && flash.err) { %> <div class="alert alert-danger"> <% JSON.stringify(flash.err) […]

在节点中模拟ejs for xml

我有一个大的格式良好的XML,我想模板就像ejs。 <foo> <url><%= url %></url> <foo> 但如果我这样做 res.render('template.xml', { url: 'http://foo.com' }) 我正进入(状态 Error: Cannot find module 'xml' 任何人都可以build议如何处理它? 我只需要在已经形成的XML中插入值,我不想通过模式序列化对象到XML。