Al principio no configuré nada como el siguiente código, solo res.render('view', {prams}); Seguía recibiendo un error que decía que el encabezado establecido no funciona.
"Error [ERR_HTTP_HEADERS_SENT]: no se pueden establecer encabezados después de enviarlos al cliente"
Luego, ahora que está cubierto con el encabezado debajo del código, el error relacionado ha desaparecido, pero la página ejs no recibe ningún parámetro y <%=%> no funciona. No soy bueno en el nodo js, así que en realidad lo estoy usando como un clon. ¿Podría esto posiblemente tener algo que ver con cors? (No sé qué cors está bien) ¿Hay alguna forma de enviar parámetros aquí de todos modos?
res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.writeHead(200, {'Content-Type': 'application/xhtml+xml; charset=utf-8'}); res.header({'Content-Type': 'application/xhtml+xml; charset=utf-8'}); res.status(200).render("abcejs", {dataA, dataB});No está definiendo los datos correctamente. Supongo que sus datos se definen de la siguiente manera:
var dataA = somedataA; var dataB = somedataB;Y los estás pasando así:
res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.writeHead(200, {'Content-Type': 'application/xhtml+xml; charset=utf-8'}); res.header({'Content-Type': 'application/xhtml+xml; charset=utf-8'}); res.status(200).render("abcejs", {dataA, dataB});Debe mostrar los datos de la siguiente manera:
<%= dataA %> <%= dataB %>No puede imprimir <%= data %> como definió dataA y dataB. si desea mostrar parámetros con diferentes nombres, debe definirlos mientras se renderiza de esta manera:
res.status(200).render("abcejs", { data1: dataA, data2: dataB }); entonces puede mostrar con <%= data1 %> <%= data2 %>
Obtenga más información sobre la sintaxis ejs: ejs.co