Objetivo del proyecto: intento crear una aplicación de conversión de idiomas. Tomará una cadena de un área de texto, convertirá todos los valores de cadena a través de un diccionario almacenado en una base de datos y agregará esta cadena convertida en una segunda área de texto. Toda esta conversión ocurrirá en la misma página index.ejs ( sin actualizar/redireccionar/etc. ).
Qué funciona: puedo enviar los datos de la cadena desde mi primera área de texto a index.ejs y recuperar todas las entradas de diccionario coincidentes en mi app.js. La ruta "/" (que se muestra a continuación) es mi archivo index.ejs . Los valores se almacenan en una matriz llamada "convertArrOfArrs". Estoy usando Mongoose para hacer esto en mi app.js. He evitado que la página se actualice infinitamente (debido a mi solicitud POST) a través de res.status(204).send() .
Lo que no funciona: no sé cómo enviar esta matriz de valores convertidos ("convertArrOfArrs") a mi index.ejs . Creo que res.render() no funciona porque necesito permanecer en la misma página.
Esta es mi app.js que se ocupa de la solicitud POST.
app.post("/", async (req, res) => { // entire textarea string const txtareaStr = await req.body.phoneticTxtArea; // puts string into an array, lowercases it, and removes whitespaces const txtareaArr = txtareaStr.trim().toLowerCase().split(" "); const convertArrOfArrs = []; try { for (let i = 0; i < txtareaArr.length; i++) { // this retrieves the word object based on the database match let word = await Word.findOne({ phonetic: txtareaArr[i] }); // stores array of conversions for each word (ARRAY TO BE SENT!!!) convertArrOfArrs.push(word.converted); } } catch (e) { console.log("ERROR", e); } // prevents page from infinite refreshing after POST request res.status(204).send(); });Por favor, hágamelo saber si se necesitan otros detalles!