Search code examples
javascriptfetchopenweathermap

Uncaught TypeError: Failed to fetch


Edit: I fixed it the answer is in the answer section.

I have trying to create a weather application and I have stumbled on a bug. I try to fetch from the API I'm using which is openweathermap.org, I know the address that I'm fetching is correct because when I open it in my browser the .json loads. I'm confused about why it fails to fetch.

Here is my code

<html>
<body>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else { 
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

function showPosition(position) {
    const lat = position.coords.latitude
    const lon = position.coords.longitude
    console.log(lat,lon)
    const API = "Im using open"
    fetch("api.openweathermap.org/data/2.5/weather?lat="+ lat +"&lon="+ lon +"&appid="+ API)
}
</script>

</body>
</html>


Solution

  • I just realized I didn't have "https://" at the beginning of my fetch.