Es el error menos informativo que existe, porque cubre cuatro situaciones distintas. La más común con diferencia es CORS: tu app está en un dominio y pide datos a otro, y ese otro servidor no ha dicho explícitamente que acepte peticiones desde el tuyo. El navegador bloquea la respuesta antes de que tu código la vea.
Las otras tres: que la dirección a la que llama esté mal escrita o llegue vacía, y entonces pide a un sitio que no existe; que el servicio al otro lado esté caído o dormido, cosa habitual en los planes gratuitos que se suspenden por inactividad; o que estés llamando por http a algo servido por https, que el navegador corta sin avisar.
Para saber cuál de las cuatro es la tuya, abre las herramientas de desarrollo del navegador con F12, ve a la pestaña Console y mira el mensaje completo. Si aparece la palabra CORS o Access-Control-Allow-Origin, es la primera. Si ves un 404, es la segunda. Si no hay respuesta ninguna, es la tercera.