在ejs文件中添加模态window
Add modal window in ejs file
我用node js写了一个小程序,我用ejs作为模板。在我的程序中,我计算了我想在模态 window 上显示的两个参数 'msg1' 和 'msg2'。不幸的是我不能用 ejs 做到这一点。
据我了解,您是 运行 服务器上的 .ejs 模板,而不是客户端。
<% %>
中的任何内容都作为模板的一部分运行,这意味着它正在尝试在服务器中调用 alert
。这应该会失败。
你还没说 msg1
和 msg2
是什么。如果它们是客户端变量,那么您只需要:
function alertNumber() {
alert(msg1 + msg2)
}
这意味着您甚至不需要模板 - 它只是一个 HTML 文件。另一方面,如果 msg1
和 msg2
是服务器端变量,则需要使用模板插入它们。这样做的一种天真的方式是这样的:
function alertNumber() {
alert('<%- msg1 + msg2 %>')
}
这仅在 msg1 + msg2
不包含字符 '
、\
、换行符、回车符 return 以及我可能遗漏的其他字符时有效。如果是这样,脚本可能会失败。特别是,除非 msg1
和 msg2
来自受信任的来源,否则不要这样做,因为控制它们的人将能够将他们想要的任何 javascript 代码注入客户端。但是,如果你能保证它们是数字,那么这就不是问题。
最后但同样重要的是...您已经定义了 alertNumber
。你真的用过这个功能吗?
我用node js写了一个小程序,我用ejs作为模板。在我的程序中,我计算了我想在模态 window 上显示的两个参数 'msg1' 和 'msg2'。不幸的是我不能用 ejs 做到这一点。
据我了解,您是 运行 服务器上的 .ejs 模板,而不是客户端。
<% %>
中的任何内容都作为模板的一部分运行,这意味着它正在尝试在服务器中调用 alert
。这应该会失败。
你还没说 msg1
和 msg2
是什么。如果它们是客户端变量,那么您只需要:
function alertNumber() {
alert(msg1 + msg2)
}
这意味着您甚至不需要模板 - 它只是一个 HTML 文件。另一方面,如果 msg1
和 msg2
是服务器端变量,则需要使用模板插入它们。这样做的一种天真的方式是这样的:
function alertNumber() {
alert('<%- msg1 + msg2 %>')
}
这仅在 msg1 + msg2
不包含字符 '
、\
、换行符、回车符 return 以及我可能遗漏的其他字符时有效。如果是这样,脚本可能会失败。特别是,除非 msg1
和 msg2
来自受信任的来源,否则不要这样做,因为控制它们的人将能够将他们想要的任何 javascript 代码注入客户端。但是,如果你能保证它们是数字,那么这就不是问题。
最后但同样重要的是...您已经定义了 alertNumber
。你真的用过这个功能吗?