Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

erro ao renderizar o html

SyntaxError: Unexpected token < in /home/andre/Documents/Desenvolvimento/nodejs/app/views/produtos/lista.ejs while compiling ejs

If the above error is not helpful, you may want to try EJS-Lint:
https://github.com/RyanZim/EJS-Lint
   at Function (native)
   at Object.Template.compile (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/ejs/lib/ejs.js:481:12)
   at Object.compile (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/ejs/lib/ejs.js:290:16)
   at handleCache (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/ejs/lib/ejs.js:168:18)
   at View.exports.renderFile [as engine] (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/ejs/lib/ejs.js:364:14)
   at View.render (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/express/lib/view.js:126:8)
   at tryRender (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/express/lib/application.js:639:10)
   at EventEmitter.render (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/express/lib/application.js:591:3)
   at ServerResponse.render (/home/andre/Documents/Desenvolvimento/nodejs/node_modules/express/lib/response.js:960:7)
   at Query._callback (/home/andre/Documents/Desenvolvimento/nodejs/app/routes/produtos.js:15:7)
6 respostas
solução!

resolvido por aqui, foi um erro de sintaxe quando utilizei ejs dentro do html.

Qual foi o erro? estou com o mesmo problema.

<html>
    <body>
        <table>
            <tr>
                <td>ordem_id</td>
                <td>numero</td>
                <td>produto_id</td>
                <td>caminhao_id</td>
            </tr>
            <% for(var i=0; lista.length; i++){ %>
            <tr>
                <td><% =lista[i].ordem_id %></td>
                <td><% =lista[i].numero %></td>
                <td><% =lista[i].produto_id %></td>
                <td><% =lista[i].caminhao_id %></td>
            </tr>
            <% } %>
        </table>
    </body>
</html>

Nossa, achei, era só sintaxe mesmo, não pode ter espaço entre os % e o conteúdo. E meu for estava errado.

eai blz, você não está colocando i menor que o tamanho da sua lista, corrige ai e testa!

<%for(var i=0;i<lista.length;i++) {%>

Estou com o mesmo problema: na pág continua sem no formato jsom.

idtitulodescricaopreco
<%for(var i=0;i <%=lista[i].id%><%=lista[i].titulo%><%=lista[i].descricao%><%=lista[i].preco%> <%}%>

posta seu código completo aqui, veja o código nataniel, nele contia erros no for, e na sintaxe, % não pode conter espaços, ex:

<td><%=lista[i].ordem_id%></td>

deve ser tudo junto,

<%for(var i=0;i<lista.length;i++) {%>

esse for ta ok!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software