我的.js文件包含数组json数据,如下所示
array1 =[{"id":"100","name":"abc","group":"123"}
{"id":"102","name":"def","group":"456"}
{"id":"103","name":"ghi","group":"789"}]
我将数据发送到html,如下所示
app.post('/lms',function(req,res){
res.render('indextest',{data:array1});});
现在我可以在indextest.html中访问上面的数据,如下所示
<%= data[0].id%>
但我的要求是我想在for循环中访问这些数据
for(i=0;i<len;i++){
var id= <%= data[i].id%>;
document.write("<input type=\"checkbox\" name=\"bedID\" value=\""+id+"\">");}
这里我得到了&#34;我&#34;未定义,我通过如下
var id= '<%= data['+i+'].id%>';
我的id未定义
可以帮助我以任何其他方式访问循环中的数据或修复上述问题,谢谢
答案 0 :(得分:1)
请参阅What is the difference between client-side and server-side programming? 。
浏览器端JS中的变量无法访问节点端JS中的变量,反之亦然。
您可以将数组转换为JSON文本,然后将JavaScript编写到将JSON文本视为JavaScript数组文字的页面中。然后你可以完全处理客户端。
一个更好的选择,因为你的浏览器端JS除了生成HTML作为一次性协议之外什么也不做,就是用Node而不是浏览器端JS生成HTML。