Me estoy metiendo en vue js ahora mismo. Actualmente estoy tratando de obtener datos de un archivo externo (de otro servidor, de url) en una cadena para analizarlos en una matriz. Pero ya estoy fallando con el archivo para encadenar parte. Intenté usar:
export default { data() { return { lines: [], error: '', choice: '', content: '' } async created() { try{ parseFile(); } catch(err){ this.error = err.message; } methods: { async parseFile() { fetch('https://filesamples.com/samples/document/txt/sample3.txt') .then(response => response.text()) .then(data => {console.log(data); this.content = data;}); } } }Que quiero almacenar en el contenido como una cadena para dividirlo más tarde en la matriz de líneas.
Lamentablemente ni siquiera carga, siempre obtendré nada en la consola. ¿Por qué podría ser esto? Encontré aquí que puede usar raw-loader (o los módulos de activos ahora, creo) para importar un archivo sin procesar en vue. Pero no es mi objetivo importar el archivo sin procesar a App.vue para cargarlo. ¿Alguien tiene una idea, por qué esto no funciona para mí? No estoy muy acostumbrado a JavaScript, tal vez solo soy tonto o algo así, jajaja.
Saludos
No hay nada malo con su código, está utilizando una cadena de promesas para obtener el resultado de la recuperación, pero obtiene un error CORS en la solicitud que no se captura.
Cambié el formato del código y agregué una captura de intento adicional. Verá un "error al buscar" registrado en la consola.
async parseFile() { try { const fetchResponse = await fetch( "https://filesamples.com/samples/document/txt/sample3.txt" ); console.log(fetchResponse.text()); } catch (ex) { console.log("Error in fetch"); } }