How can I use Json Jquery in api.openweathermap to get weather information

后端 未结 2 1499
青春惊慌失措
青春惊慌失措 2020-12-21 08:37

I have this api

 http://api.openweathermap.org/data/2.5/forecast/daily?q=Montpellier&mode=json&units=metric&cnt=10 

and I will

相关标签:
2条回答
  • 2020-12-21 08:56

    Use an ajax call to get the JSON like this

    $(document).ready(function(){
    $.getJSON("http://api.openweathermap.org/data/2.5/forecast/daily?q=Montpellier&mode=json&units=metric&cnt=10",function(result){
        alert("City: "+result.city.name);
        alert("Weather: "+ result.list[0].weather[0].description);
        });
    });
    

    Here's the fiddle: http://jsfiddle.net/cz7y852q/


    If you do not want to use jQuery:

    var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
               if (xmlhttp.status == 200) {
                  var data = JSON.parse(xmlhttp.responseText);
                  //access json properties here
                  alert("Weather: "+ data.weather[0].description);
               }
               else if (xmlhttp.status == 400) {
                  alert('There was an error 400');
               }
               else {
                   alert('something else other than 200 was returned');
               }
            }
        };
        xmlhttp.open("GET", "http://api.openweathermap.org/data/2.5/weather?id=524901&APPID=7dba932c8f7027077d07d50dc20b4bf1", true);
        xmlhttp.send();
    

    Use your own API key if the one in the URL does not work.

    0 讨论(0)
  • 2020-12-21 09:10

    Just issue ajax GET request:

    var url = "http://api.openweathermap.org/data/2.5/forecast/daily?q=Montpellier&mode=json&units=metric&cnt=10"
    
    $.getJSON(url).then(function(data) {
        console.log(data);
    });
    

    api.openweathermap.org implements CORS, which means that you will not have cross domain issues and can simply request API with AJAX.

    0 讨论(0)
提交回复
热议问题