如何将数据插入HTML div

时间:2014-12-01 11:02:38

标签: javascript html ejs

我有一个脚本,它将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 - 从调试器控制台观察到。enter image description here

但我不会在任何地方将这些内容打印出来。

有人可以告诉我这里出了什么问题吗?

2 个答案:

答案 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