Esta es la primera vez que uso ejs&node.js...
Mi objetivo es enviar una matriz y crear un elemento imgBox para cada elemento.
Aquí está mi código node.js
const express = require('express'); const ejs = require('ejs'); const bodyParser = require('body-parser'); const sqlite3 = require('sqlite3'); const sqlite = require('sqlite'); const app = express(); app.set('view engine','ejs'); app.set('views','./views'); app.use(bodyParser.urlencoded({extended:false})); app.use(bodyParser.json()); app.use(express.static(__dirname+'/public')); async function getDBConnection(){ const db = await sqlite.open({ filename : 'product.db', driver: sqlite3.Database }); return db; } app.get('/', async function(req,res){ let db = await getDBConnection(); let rows = await db.all('select * from items'); await db.close(); var output=new Array(); for(var i=0;i<rows.length;i++){ output.push(rows[i]['product_title']); } res.render('index',{ test: "ㅇㅇ ", title: output }); }); var port = 3000; app.listen(port,function(){ console.log('server on! http://localhost: '+port); });y aquí está mi código .ejs donde quiero hacer elementos de una matriz (en este caso, la matriz denominada 'salida'):
<div id="itemBox"> <% var len = title.length; %> <% for(let i=0;i<len;i++){ %> <div id="imgBox"><%=title[i]%></div><br> <% } %> </div>Lo que quería era hacer (len) elementos imgBox por elementos de la matriz, pero lo que se mostraba en la pantalla era solo una cadena...
¿Podría enseñarme cómo lidiar con una matriz en el archivo node.js y ejs?
Gracias.