Intenté usar fetch en localhost, pero no funcionó.
aquí está mi código:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> fetch("hi.txt").then(function(response){ response.text().then(function(text){ alert(text) }) }) </script> </body> </html>El archivo hi.txt está en la misma carpeta que el archivo de script.
El siguiente error se muestra en la consola:
index.html:12 Fetch API cannot load file:///C:/~~~~/hi.txt. URL scheme "file" is not supported.
(~~~) es el camino
Dado que su URL es relativa (es simplemente "hi.txt" ), se resuelve con la URL de la página en la que se ejecuta el código. En su caso, parece ser file:///something , es decir, un archivo que He cargado directamente desde su sistema de archivos, no solicitándolo desde un servidor. Chrome no permite obtener desde el esquema de file . El origen del esquema de file es null . La interpretación del equipo de Chrome de la política del mismo origen es que ningún origen, ni siquiera él mismo, debe coincidir con null . (En mi opinión, una interpretación razonable, pero las opiniones pueden variar).
Al realizar el desarrollo web, desea trabajar a través de un proceso de servidor porque las páginas cargadas directamente desde el sistema de archivos se comportan de manera diferente en varias formas, a veces sutiles, en comparación con las páginas cargadas desde servidores.
Hay un par de formas de hacerlo:
npm (y Node.js), con un comando que puede usar para compilar y ejecutar el proyecto localmente en modo de desarrollo.hola, está ejecutando su archivo de esta manera: está haciendo clic derecho en su archivo html, abriéndolo con el navegador. De esta manera, le está diciendo al navegador que abra su archivo html desde la ubicación del archivo donde lo guardó. Verifique en la barra de URL de su navegador y obtendrá algo como esto C:/xampp/htdocs/xyz.html, por lo que este es su directorio local sistema de archivos así que ahora primero debe iniciar su servidor, como xampp o cualquier servidor que haya instalado, y luego escriba este localhost/nombre de archivo o /nombre de subcarpeta y /nombre de archivo si lo ha almacenado en una subcarpeta... y presione Intro. tiene que consultar a un servidor como lo hace en la llamada de archivos php .....
Simplemente puede crear un servidor web local (XAMPP) y cargar allí su archivo hi.txt . Si hiciste eso, reemplaza
fetch("hi.txt")con
fetch("http://127.0.0.1/hi.txt")