我有一个脚本,它将sql查询对象呈现给视图页面。 我正在尝试从该对象中检索名字,并希望在UI上打印它。
我有功能
res.render(
'login',
{"data": data});
数据有一行
[{id:9, user_name:'abc', email:'abc@ask.com', password: '1234', firstname: 'monica', lastname:'than'}]
我将此传递给.ejs文件,我将获得第一个名称'monica',如下所示:
<body>
<h1> Welcome! </h1><p id="pil"></p>
<br>
<br>
<br>
<h3>Search for Pilgrim </h3>
<script>
var name = <%- data[0].firstname %>
document.getElementById("pil").innerText= <%- data[0].firstname %>;
</script>
</body>
该名称正在获得值monica - 从调试器控制台观察到。
但我不会在任何地方将这些内容打印出来。
有人可以告诉我这里出了什么问题吗?
答案 0 :(得分:2)
试试这个 -
document.getElementById("pil").innerHTML=" <%- data[0].firstname %>";
答案 1 :(得分:1)
您应该使用:
var name = "<%- data[0].firstname %>";
document.getElementById("pil").innerText= name;
由于只有一个元素id="pil"
我认为问题在于将代码包装在函数中,可能你应该尝试这个:
<body onload="myFunction()">
和js就像:
function myFunction() {
var name = "<%- data[0].firstname %>";
document.getElementById("pil").innerText= name;
}
这是工作FIDDLE