Javascript NODE.JS访问EJS模板中的函数

Javascript NODE.JS访问EJS模板中的函数,javascript,node.js,function,ejs,Javascript,Node.js,Function,Ejs,我有一个scripts.js文件,其中包含一个我希望在EJS模板中访问的函数 在模板中,我包含了一个标题,在标题中,我向scripts.js添加了一个脚本rel <script src="/scripts/scripts.js" type="text/javascript"></script> 我通过console.logtest对它进行了测试,当调用模板时,我看到test出现在控制台中 当我尝试调用EJS模板中的实际函数verify_data时,我得到一个错误ver

我有一个scripts.js文件,其中包含一个我希望在EJS模板中访问的函数

在模板中,我包含了一个标题,在标题中,我向scripts.js添加了一个脚本rel

<script src="/scripts/scripts.js" type="text/javascript"></script> 
我通过console.logtest对它进行了测试,当调用模板时,我看到test出现在控制台中

当我尝试调用EJS模板中的实际函数verify_data时,我得到一个错误verify_data未定义。 EJS中的错误代码如下所示:

<p><em>Submited By <%= verify_data(results.user.username) %></em></p>
函数检查传递的参数是否为null/undefined,如果为yes,则返回数据,如果不是,则返回n/a字符串

如何在EJS模板中直接访问JS函数


谢谢,

假设您没有使用SPA框架,您需要添加一个标记,该标记将被函数替换,或者包含要存储的数据

看看这个代码片段

提交人

//这是script.js 函数验证\u datauserName{ 返回'My data with'${userName}'`; } let data=verify_dataEleFromStack;//假设=EleFromStack document.querySelectoruserData.textContent=数据;
您正在将后端scriptlet与客户端(即:浏览器)的Javascript混合使用。问题是,是否有解决方案,直接从EJS模板中运行call js函数?不,不可能。对于答案Ele,我确认数据验证仅在实际路由上进行?在将参数传递给模板之前?是的,这是一种更好的方法