在ejs文件

时间:2015-06-11 19:50:45

标签: javascript html ejs modalpopupextender modal-window

我用节点js写了一个小程序,我用ejs作为模板。在我的程序中,我计算了两个参数'msg1'和'msg2',我想在模态窗口中显示。不幸的是,我无法用ejs做到这一点。

1 个答案:

答案 0 :(得分:0)

据我了解,您在服务器上运行.ejs模板,而不是客户端。

<% %>内的任何内容都作为模板的一部分运行,这意味着它正在尝试在服务器中调用alert。这应该失败。

您尚未说出msg1msg2是什么。如果它们是客户端变量,那么您只需要:

function alertNumber() {
    alert(msg1 + msg2)
}

这意味着你甚至不需要模板 - 它只是一个HTML文件。另一方面,如果msg1msg2是服务器端变量,则需要使用模板插入它们。一个天真的方式是这样的:

function alertNumber() {
    alert('<%- msg1 + msg2 %>')
}

仅当msg1 + msg2不包含字符'\,换行符,回车以及可能错过的其他字符时,此方法才有效。如果是这样,脚本可能会失败。特别是,除非msg1msg2来自受信任的来源,否则不要这样做,因为控制它们的人将能够将他们想要的任何javascript代码注入客户端。但是,如果你可以保证它们是数字,那么这不会是一个问题。

最后但并非最不重要......你已经定义了alertNumber。你真的使用过这个功能吗?