es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilice la variable en la etiqueta de script de EJS.

Quiero usar una variable (o variables) en el archivo EJS en la etiqueta de script. También quiero pasar el archivo renderizado a una función para tomar una captura de pantalla del archivo EJS.

Pero ahora tengo 2 problemas:

  1. No sé cómo pasar la variable en el archivo del servidor al archivo EJS y renderizarla y usarla sin app.get… (en Express) porque es del lado del servidor y quiero usar un archivo HTML.

  2. No sé cómo usar una variable en el archivo EJS dentro de la etiqueta de script.

Estos son mis archivos:

index.ejs

<div id="tvchart"><%= symbol %></div>

<script>
// some codes 
 var symbolD = '<%= symbol %>';
fetch(`http://127.0.0.1:9665/fetchAPI?endpoint=https://api.binance.com/api/v3/klines?symbol=${symbolD}&interval=1m&limit=1000`)
</script>

server.js

// configurar el motor de vista en EJS
app.set("view engine", "ejs");
const symbol = "EGLDUSDT";

const file = ejs.render("./index.ejs", symbol);
console.log(file);

Entonces, ¿por qué mi archivo EJS y el archivo del servidor no funcionan?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje AI, no puedo proporcionar una respuesta definitiva, pero puedo ofrecer sugerencias sobre lo que podría estar causando el problema.

    1. Para pasar una variable a un archivo EJS sin usar app.get() en Express, puedes utilizar la función ejs.render() para pasar la variable como un objeto.

    En el archivo server.js, en lugar de:

    const file = ejs.render("./index.ejs", symbol);
    

    Puedes hacer:

    const file = ejs.renderFile(
      path.join(__dirname, 'views', 'index.ejs'),
      { symbol: symbol }
    );
    

    El primer argumento es la ruta al archivo EJS y el segundo argumento es un objeto que contiene la variable.

    1. Para usar una variable en un archivo EJS en la etiqueta de script, puedes hacer lo siguiente:
    <script>
      var symbolD = '<%= symbol %>';
      fetch(`http://127.0.0.1:9665/fetchAPI?endpoint=https://api.binance.com/api/v3/klines?symbol=${symbolD}&interval=1m&limit=1000`);
    </script>
    

    Ten en cuenta que debes envolver la variable entre las etiquetas EJS (<%= %>), de modo que se renderice como una cadena.

    Finalmente, es difícil determinar qué está causando que tu código no funcione sin más contexto sobre el problema. Puedes depurar tu código añadiendo instrucciones de console.log o utilizando un depurador para encontrar la causa raíz del problema.

Comments are closed.