HTTP get request with Axios gets sent with the local host IP at the beginning of the URL

In the URL argument for Axios, you are not specifying the protocol to use for your API request (probably HTTP). Because of that, Axios interprets it as a relative URL path and adds the path of your local server, because it needs a full URL to make the request.

You can easily fix it by adding the http:// prefix:

axios.get('http://api.openweathermap.org/data/2.5/weather', {

you can config the axios base url before your request

axios.defaults.baseURL = 'http://api.openweathermap.org';
axios.get('/data/2.5/weather')