当前位置: 首页 > 面试题库 >

在EJS中将变量呈现为HTML

明宜年
2023-03-14
问题内容

我正在使用Node.js的Forms库(Forms),它将在后端为我呈现一个表单

var signup_form = forms.create({
    username: fields.string({required: true})
    , password: fields.password({required: true})
    , confirm:  fields.password({
        required: true
        , validators: [validators.matchField('password')]
    })
    , email: fields.email()
});
var signup_form_as_html = signup_form.toHTML();

最后一行var signup_var signup_form_as_html = signup_form.toHTML();创建一个HTML块,如下所示:

<div class="field required"><label for="id_username">Username</label><input type="text" name="username" id="id_username" /></div><div class="field required"><label for="id_password">Password</label><input type="password" name="password" id="id_password" /></div><div class="field required"><label for="id_confirm">Confirm</label><input type="password" name="confirm" id="id_confirm" /></div><div class="field"><label for="id_email">Email</label><input type="text" name="email" id="id_email" /></div>

基本上只是一长串HTML。然后,我尝试使用EJS和Express通过以下代码进行渲染:

res.render('signup.ejs', {
    session: loginStatus(req)
    , form: signup_form_as_html
});

但是在渲染HTML时,只是我上面发布的字符串,而不是实际的HTML(因此是我想要的一种形式)。有什么方法可以使用EJS将字符串呈现为实际的HTML?还是我必须使用类似Jade的东西?


问题答案:

有了ejs,您可以拥有

<% code %>

…这是经过评估但未打印出来的代码。

<%= code %>

…这是经过评估并打印(转义)的代码

<%- code %>

…这是经过评估并打印出来的代码(不可转义)。

由于您要打印变量而不是不对其进行转义,因此代码将是最后一个类型(带有-<%)。在您的情况下:

<%- my_form_content %>

有关更多信息,请参见完整的ejs文档。



 类似资料:
  • 问题内容: 我使用“消息”界面将消息传递给用户,如下所示: 我想在变量中包含html 并呈现它,而不在模板中转义标记。 问题答案: 如果你不想转义HTML,请查看过滤器和标签: safe: autoescape:

  • 问题内容: 在我的index.ejs中,我有以下代码: 在我的节点中 但是,我在页面上获得 如果我写 我得到: 有没有一种方法可以传递 JS可读 的JSON ? 问题答案: 哦,那很容易,不要使用,而是使用。例如: 第一个将以HTML呈现,第二个将呈现变量(按原样评估)

  • 我正在节点服务器上使用express ejs在多视图应用程序中呈现视图。在客户端,我使用的是AngularJS。初始视图是一个登录页面,当使用时,该页面会正确显示。我想在用户成功连接时呈现一个新的视图,但是对于下一个,它仍然停留在登录页面上,尽管我在客户端接收到了正确的HTML。下面是我的相关代码: 部分文件结构: server.js Script.js login.ejs Home.ejs 这是

  • 在我的。java文件,我有 在我的第1页。html文件: 现在,my page1显示: 是否可以将我的结果变量呈现为html,以便我的page1显示一个大的绿色通行证?除了th: text${var}之外,还有其他格式选项吗?我正在使用Spring boot和thymeleaf。我尽量不使用javascript。 类似这样的东西,但对于java

  • 问题内容: 我正在开发Node.js应用程序(这是一个游戏)。在这种情况下,我设置了一些代码,以便当一个人访问索引并选择一个房间时,他将被重定向到适当的房间。 现在,使用Express v2.5.8可以做到这一点: 在board.ejs中,我可以使用以下代码访问gameState方式: 有没有办法将其导入到JavaScript逻辑中?我希望能够做类似的事情,然后能够做我想做的任何事情-访问其变量,

  • 我有一个使用EJS模板的NodeJS、Express3应用程序。我有一个路线,使‘预览’一些表单字段包含HTML和CSS张贴。它只是将它们插入并呈现我的模板,如下所示。 我现在想做的是一个类似的路线,强制下载文件,而不是… 我看到有一个和,但是我如何将这些与我的EJS“预览”视图模板一起使用呢? 附注。-我也在使用Mikeal的是同一个应用程序。我想知道是否有一种方法,我可以使用管道到fs(文件系